UNIDAD 6: JAVA PROGRAMACION ORIENTADA OBJETOS OOP

JAVA TEMA 7: JAVA CLASES PROPIAS

Construyamos un ejemplo java , donde se crea un clase propia(llamada formulas) que contiene varios metodos( pesos-dllrs, areatriangulo, etc).

Existen varias maneras de incorporar una nueva clase a un programa normal, de tipo consola, gui, applet, etc.

Ponerla dentro del propio programa:

import java.io.*;
public class prog27 {
public static void main(String[] args) {
//para usar clase y metodos usar notacion clase.metodo
double area=formulas.areatriangulo((double)10,(double)20);
System.out.println("area="+area);
int prom=formulas.promedio(10,20);
System.out.println("promedio="+prom);
} // cierra main
} // cierra clase
// solo poner abajo las clases propias
class formulas{
// no se me ocurrio ninguna propiedad solo metodos y constructor
void formulas(){};
static double areatriangulo( double base, double altura)
{ return base* altura /2.0 ;};
static double pesosdolares (int pesos, double tipocambio)
{ return pesos/tipocambio; };
static int promedio (int calif1, int calif2)
{return (calif1+calif2)/2 ;};}

B)Similar al ejemplo anterior, pero se crea un objeto hijo, derivado de nuestra clase:

import java.io.*;
public class prog28 {
public static void main(String[] args) {
// tambien es valido crea objetos derivados de clase propia
formulas formhija=new formulas();
//para usar clase y metodos usar notacion clase.metodo
double area=formhija.areatriangulo((double)10,(double)20);
System.out.println("area="+area);
int prom=formhija.promedio(10,20);
System.out.println("promedio="+prom);
} // cierra main
} // cierra clase
// solo poner abajo las clases propias
class formulas{
// no se me ocurrio ninguna propiedad solo metodos y constructor
void formulas(){};
static double areatriangulo( double base, double altura)
{ return base* altura /2.0 ;};
static double pesosdolares (int pesos, double tipocambio)
{ return pesos/tipocambio; };
static int promedio (int calif1, int calif2)
{return (calif1+calif2)/2 ;}; }

c) Tambien es valido, crearlas y compilarlas por separado, tanto la clase propia, como la clase principal, solo tener cuidado de poner las dos clases en el mismo nivel de directorio, para que javac pueda hallarlas y no olvidar que en caso de problemas usar set classpath=.; antes de usar javac.

import java.io.*; import formulas.*;
public class prog29 {
public static void main(String[] args) {
double area=formulas.areatriangulo((double)10,(double)20);
System.out.println("area="+area);
int prom=formulas.promedio(10,20);
System.out.println("promedio="+prom);
} // cierra main
} // cierra clase

E) Tambien es valido crear un paquete(que es tambien un folder o subdirectorio) donde se pueden poner todas nuestras clases, pero la clase propia debe llevar una instrucción especial que indica que pertenece al paquete o folder:

Formula.class

//ver la instruccion y recordar crear el folder y renombrarlo con
// el nombre de paquete, esta clase propia se debe poner dentro de
//este folder paquete
package paquete;
public class formulas{
// no se me ocurrio ninguna propiedad solo metodos y constructor
public static void formulas(){};
public static double areatriangulo( double base, double altura)
{ return base* altura /2.0 ;};
public static double pesosdolares (int pesos, double tipocambio)
{ return pesos/tipocambio; };
public static int promedio (int calif1, int calif2)
{return (calif1+calif2)/2 ;}; }

El folder que tiene adentro nuestra clase propia, se debe poner en un nivel abajo de donde se encuentra la clase principal, ver siguiente grafico:

image43.jpg

El programa que llama nuestro paquete y nuestra clase es:

import java.io.*; import paquete.*;
public class prog30 {
public static void main(String[] args) {
double area=formulas.areatriangulo((double)10,(double)20);
System.out.println("area="+area);
int prom=formulas.promedio(10,20);
System.out.println("promedio="+prom);
} // cierra main
} // cierra clase

f)Ejemplo con un servlet y clase propia, poner las dos juntas en el mismo directorio.

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import formulas.*;
public class prog31 extends HttpServlet
{ public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
double base=10; double altura=20;
double area = formulas.areatriangulo(base,altura);
PrintWriter pagina; response.setContentType("text/html");
pagina = response.getWriter();
pagina.println("<HTML>");
pagina.println("area="+area);
pagina.println("</HTML>");
pagina.close();
destroy();
}; // termina dopost
public void destroy(){super.destroy();};
}// termina class

El ejemplo con jsp, se los debo para el proximo semestre, porque mi servidor se nego a tenerlas juntas las dos clases y luego importarlas, de momento solo agregar clases y metodos directamente dentro del jsp.

TAREAS JAVA JSP JAVA SERVLET

generar un clase propia y usarla en un programa de consola, gui, applet, servlet y jsp

Politica de Privacidad