Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Paquetes
Taller de
Algoritmos y
Estructuras
de Datos I
1
Objetos: constructores, paquetes y
herencia
Recordemos el Paradigma Orientado a Objetos y su aplicación en la
Programación Orientada a Objetos, para luego poder resolver situaciones
reales que implican integrar todos los conceptos en la resolución codificada
en lenguaje Java. Estos temas están tratados en los capítulos 3 y 4 de la
bibliografía básica de la materia.
El objeto está compuesto por atributos que le dan el estado y los métodos
que representan su comportamiento.
Las clases pueden tener variables static, que son propias de la clase y no de
cada objeto.
Veamos un ejemplo:
Modificador de acceso
Las clases de los niveles inferiores son por lo general las que poseen los
objetos que tendrán los atributos y métodos de su clase más los atributos y
métodos que hereden.
¿Cómo se crean los objetos? Se crean con la instrucción new, pero necesita
un par de instrucciones, por ejemplo, si tenemos la clase Persona, el objeto
se crea:
Los atributos son los datos específicos de una clase. Los que se definan en
las clases serán comunes a todos los objetos creados en ella, pero
independientes de sus valores.
unoNuevo.nom = “José”;
unoNuevo.setNom(“José”);
Primitivos: los tipos de datos que viene con el lenguaje Java, como
int
En nuestro ejemplo, en una clase Test con un método main() podría tener el
siguiente código:
Persona unoNuevo; //referencia null
Si creamos otra instancia de Persona, se pueden asignar las referencias mutuamente, por
ejemplo:
Concepto de Package
Paquete Contenido
java.applet Clases para implementar applets correspondientes a
aplicaciones que corren dentro de los
browsers.
java.awt Clases para gráficas, componentes (GUI –
Graphic User Interface) y administradores de
control de ventanas, además de clases más
especializadas como para procesamiento de
imágenes (AWT – Advanced Window Toolkit).
java.beans Clases e interfaces para construir
JavaBeans correspondientes a GUIs
independientes de plataformas.
Paquete Contenido
javax.accessibility Clases que definen contratos entre componentes
de interfaces de usuario y
una tecnología asistente que provee acceso a
esos componentes.
javax.activation Clases que definen activación de los
componentes de JavaBeans.
javax.ejb Clases para el manejo de EJB(Enterprise
JavaBeans).
javax.jms Clases para el manejo de JMS(Java Message
Server).
javax.mail Clases para el manejo de correo.
javax.naming Clases para el acceso de los servicios de
nombres.
javax.rmi Clases para la invocación de métodos remotos
incluyendo CORBA.
javax.servlet Clases para el manejo de servletsy JSP(Java
Server Pages).
javax.sql Clases para el acceso a base de datos con SQL.
javax.swing Clases que proveen un conjunto de componentes
para GUIs que trabajan en
cualquier plataforma.
javax.transaction Clases para el manejo de transacciones entre
componentes.
Como hay que ingresar datos será necesario validarlos. Estos métodos no es
conveniente que se ubiquen dentro del main() ni en la clase Persona, ya que
no son comportamiento de ella, por lo que necesitamos una o dos clases
para leer y validar. Estas clases se ubican en un Package independiente para
que sean librerías a ser utilizadas en otros proyectos.
Herencia
Por ejemplo:
this.nombre = nombre;
Es posible pensar que this es un objeto, en realidad lo es, pero uno muy
especial: es una referencia al objeto que se acaba de crear con new y cuyo
constructor se está ejecutando.
Por ejemplo:
//”Constructores
this.nombre = nombre;
this.nombre = nombre;
this.apellido = apellido;
o bien,
this.nombre = nombre;
this(nombre);
this.apellido = apellido;
}
Como vemos aparece en el segundo ejemplo this( ) como método, esto
permite invocar el primer constructor desde el segundo, asegurándonos la
sincronización entre los dos. El uso del this ( ) se permite cuando es la
primera instrucción de un constructor.
El constructor super ( )
………………….
Nombre = nom;
int idCli;
}
Concepto de Interface
Es una clase abstracta que no puede ser instanciada que debe ser
implementada en otra clase.
Si una clase implementa (implements) una interface, debe definir todos los
métodos especificadas por la interface, si alguno de los métodos no tiene
código aun se colocan las llaves de apertura y cierre definiéndolo vacío.
}
public class Persona implement IActividad {
Gráficamente:
Deitel y Deitel, “Java cómo programar ”, séptima edición, ed. Pearson, 2008.