Construcción de clases
Java, programación orientada a objetos
Sintaxis de una clase
[<modificador>] class <NombreClase> [extends
<NombreSuperClase>] [implements <NombreInterfaz>]
[,NombreInterfaz2,…] {
Ejemplo:
public class Main(){
}
Sobrecarga de métodos
⚫ La sobrecarga de métodos es “la capacidad de
exponer varios métodos con el mismo nombre pero
con diferentes argumentos” (Balena, 2007, p. 20).
Ejemplo:
public void moverPersona( Objetivo p ){
}
public void moverPersona( int x, int y ) {
}
21 Elaboró: Ing. Juan Eduardo de la Rosa Oliva
Modificadores de clases
Los modificadores proveen información adicional de la
forma en que la clase va a ser tratada, los cuales
pueden ser:
⚫ public. Modificador de acceso que indica que
la clase es accesible de forma pública.
⚫ abstract. Modificador que indica que la clase es
abstracta y por tanto, no es instanciable.
⚫ final. Modificador que indica que la clase no
puede ser subclasificable, es decir, una clase que no
se puede heredar.
Modificadores de los atributos
Modificador Misma clase Clase hija Paquete Resto del
mundo
private X
protected X X X
public X X X X
package X X
Miembros estáticos
⚫Los miembros de una clase se refiere a los atributos de una
clase.
⚫Las clases “pueden exponer dos tipos diferentes de
miembros: de instancia y estáticos” (Balena, 2007, p.24).
⚫Para crear un miembro estático añada el modificador
static en el atributo de la clase.
Ejemplo: La clase Persona sólo expone miembros de
instancia, lo que significa que habrá un valor diferente de
los miembros Nombre y Apellidos para cada objeto
instanciado. Sin embargo, supóngase que se desea llevar un
control de cuántas personas se han instanciado. Es evidente
que este valor no es una propiedad de objetos individuales;
en cambio, está relacionado con la propia clase Persona y,
por lo tanto debe definirse como estático.
Constructor de una clase
Los constructores son métodos especiales que se invocan
cuando un cliente crea una instancia de la clase. Los
constructores de una clase se deben nombrar exactamente
como se nombre la clase que lo contiene. Ejemplo
public class Persona
{ public Persona(){
//ESTO ES UN CONSTRUCTOR
}
}
Los constructores se pueden sobrecargar, y es posible que una
clase tenga múltiples constructores, aunque si omite el
constructor, Java crea automáticamente un constructor
predeterminado.
Diseño de interfaces gráficas
Java, programación orientada a objetos
Herencia
Herencia
La herencia es implantar la relación que existe entre 2
entidades en la realidad, o bien es “la propiedad que
permite a los objetos ser construidos a partir de otros
objetos” (Joyanes, 2003, p. 593). Ejemplo:
public class Persona extends Humano {
}
Herencia
Característi
ca A y B
A, B y C A, B y E
A, B y C A, B, C y D A, B, E y F A, B y C
Evolución de la GUI
Stand alone AWT Swing
• System • java.awt.Button • jav
• java.awt.Frame ax.
swi
ng.
Jbu
tto
n
• jav
ax.
swi
ng.
JFr
am
e
Referencias al objeto actual
mediante this
En un método la referencia this puede utilizarse de forma
implícita y explícita para hacer referencia a las variables de
una instancia y otro métodos del objeto en el cual se haya
llamado el método.
Ejemplo:
public class Editor extends
javax.swing.JFrame{ public Editor(){
this.setSize(500, 500);
this.setDefaultCloseOperation(2);
this.setResizable(false);
this.setLayout(null);
this.setVisible(true);
}
}
Clases abstractas
Una clase abstracta es una clase que no puede ser
instanciada.
Ejemplos: Math, JOptionPane, System, String …
public abstract class
Dibujar{ public void
dibujarCirculo(){
}
public static void dibujarCuadrado(){
}
}
Interfaces
⚫ “Una interfaz se utiliza generalmente en lugar de
una clase abstracta cuando no hay una implementación
predeterminada que heredar” (Deitel, 2004, p. 417).
⚫ “Java no permite heredar de más de una
superclase, pero sí permite que una clase herede de
una superclase e implemente interfaces” Deitel,
2004, p. 418).
⚫ Las interfaces únicamente definen la
estructura de cómo debe ir constituida una clase.
Eventos
Evento. “Son sucesos que pueden llegar a conducirse o
no” (López, 2007, p. 108). Un evento es un suceso que ha
ocurrido y que ha sido registrado.
22 Elaboró: Ing. Juan Eduardo de la Rosa Oliva
Eventos
MouseListener KeyListener
ActionListener MouseMotionListener
java.awt.event
23 Elaboró: Ing. Juan Eduardo de la Rosa Oliva
UML
Java, programación orientada a objetos
24 Elaboró: Ing. Juan Eduardo de la Rosa Oliva
Notación OML
⚫ Esta notación es una representación preliminar
de una clase de forma gráfica.
25 Elaboró: Ing. Juan Eduardo de la Rosa Oliva