Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación orientada
a objetos en Java
Índice
La programación orientada a objetos (POO) ... 2
Un ejemplo: una clase Punto ... 4
Programas orientados a objetos ... 7
Otro ejemplo: una clase Circulo ... 9
Encadenamiento de mensajes ... 10
Los atributos ... 12
Los objetos ... 13
Herencia ... 14
Herencia y pasos de mensajes ... 20
Polimorfismo y vinculación dinámica ... 21
Relaciones entre clases ... 25
POO y reutilización ... 26
...
Luis Hernández Yáñez
Curso de Java para IZAR Tema 3 – POO en Java - 2
Carlos Cervigón Rückauer
La programación orientada a objetos (POO)
La clase Punto:
Define dos atributos: _x e _y
Cada ejemplar (objeto) tendrá sus propias coordenadas x e y.
Define cinco métodos:
x(), y(), x(double), y(double) y print().
Todos los objetos de la clase Punto proporcionan cinco servicios:
x(), y(), x(double), y(double) y print().
Creación de ejemplares (objetos) de la clase Punto:
Punto p1 = new Punto(), p2 = new Punto();
p1 tiene sus propios valores _x e _y, distintos de los de p2.
Cuando se quiere que un determinado objeto realice un
determinado servicio (método), se le pasa un mensaje:
p1.y(12) Paso del mensaje y() al objeto p1.
p2.print() Paso del mensaje print() al objeto p2.
Nuevas características:
Nuevo atributo _radioMayor para el radio mayor de la elipse.
(El atributo _radio heredado se considera el radio menor.)
Accedente y mutador para el nuevo atributo
(radioMayor() y radioMayor(double)).
Redefinición de características:
La información de las elipses no se muestra igual que la de los
círculos, por lo que se debe redefinir el método print().
Atributos:
_centro heredado
_radio heredado
_radioMayor propio
Métodos:
centro() heredado
radio() heredado
radioMayor() propio
centro(Punto) heredado
radio(double) heredado
radioMayor(double) propio
print() propio (redefine el heredado)
ObjetoGrafico
Punto Forma
Elipse Rectangulo
Identificadores y objetos
Los objetos se manejan en los programas por medio
de identificadores:
Identificadores
Circulo unCirculo; Punto unPunto;
Cuando se establecen relaciones de herencia entre clases,
se sigue una regla de compatibilidad de objetos que dice que
un identificador declarado como de clase X
puede hacer referencia a un objeto de la clase X
o de cualquiera de sus subclases
Un Circulo puede ser un Circulo normal (sin dos radios)
o una Elipse, pero una Elipse NO puede ser un Circulo
normal (sin dos radios).
Esto puede resultar controvertido:
un círculo se puede considerar una elipse con los dos radios iguales.