1. REPORTE: HERENCIA,
POLIMORFISMO,
ENCAPSULAMIENTO.
En este reporte explicaremos lo que significan los conceptos Herencia,
Polimorfismo y Encapsulamiento.
La POO (Programación orientada a objetos)n maneja o se basa en cuatro
conceptos, pero ahora solo veremos tres de ellos.
Encapsulamiento, herencia y polimorfismo, estos son los pilares de la POO.
Herencia.
Herencia, al igual que la vida real es el mecanismo con el cual una clase
hereda( obtiene ) de su ancestro atributos y métodos públicos y
protegidos, y lo que se gana con esto es la reutilización de código, aunque
su poder se produce al utilizar el polimorfismo.
La idea de la herencia es permitir la creación de nuevas clases basadas
en clases existentes.
Cuando heredamos de una clase existente, reusamos (o heredamos)
métodos y campos, y agregamos nuevos campos y métodos para cumplir
con la situación nueva.
Cada vez que encontremos la relación "es-un" entre dos clases, estamos
ante la presencia de herencia.
La clase ya existente es llamada superclass, o clase
base, o clase padre.
La clase nueva es llamada subclase, clase
derivada, o clase hija.
A través de la herencia podemos agregar nuevos
campos, y podemos agregar o sobre montar
2. métodos (override). Sobre montar un método es redefinirlo en la case
heredada.
Polimorfismo.
Polimorfismo, es la capacidad que tienen las referencias de "referenciar" a
objetos de distintos tipos, pero herederos de un mismo padre, y poder
realizar en tiempo de ejecución ( ligamento tardío ), la llamada al método
correspondiente.
Literalmente significa tomar varias formas
Tareas similares son realizadas por métodos con mismo nombre
◦
Suma
◦
Enteros
◦
Decimales
◦
Fracciones
Simplifican la tarea del desarrollador, al no tener que recordar
distintos nombres para comportamientos iguales.
La definición del método reside en la clase base
La implementación del método reside en la clase derivada
La invocación es resuelta al momento de ejecución
◦
Early binding
◦
Late binding
En Java una variable o nombre usado para referirse a un objeto de una clase X
puede usarse para referirse a cualquier objeto de cualquier subclase de la clase
X.
Por ejemplo: Si tenemos Employee e;
3. e= new Employee(...); o
e= new Manager(...);
Esto también aplica a arreglos de Employee, cuyas entradas podrían referirse a
instancias de cualquier subclase de Employee.
El inverso no es válido. No se puede asignar una instancia de la superclase a un
nombre para la subclase.
Esta es una forma de polimorfismo porque se puede referirse a un Employee o a
un Manager.
Encapsulamiento.
El encapsulamiento se define como la acción de poner dentro de un objeto sus
atributos y métodos, mostrando luego una interfaz común para el uso posterior
del mismo, con esto, ganas que los objetos puedan comunicarse entre ellos y
que nadie se meta con la implementación del otro. tu muestras solo los
métodos que creas necesarios para poder comunicarse con el objeto y el
contrato dice que los usuarios deben usar estos y solo estos métodos.
Facilita el manejo de la complejidad
sólo se conoce el comportamiento pero no los detalles internos
nos interesa conocer qué hace la Clase pero no saber cómo lo hace
4. Conclusión.
Los principales pilares de la POO son herencia, encapsulamiento y
polimorfismo. Es importante conocer lo que son estos conceptos en JACA
porque así sabremos que son las clases, la jerarquización, los métodos,
atributos y objetos. Como su nombre lo dice, nos enseñan a comprender la
programación orientada a objetos.
Bibliografía.
http://profesores.elo.utfsm.cl/~agv/elo330/2s04/lectures/JAVA/Herencia_e
n_Java.html
http://codigomaldito.blogspot.mx/2011/06/ejemplo-de-herencia-enjava.html
http://profesores.elo.utfsm.cl/~agv/elo330/2s04/lectures/JAVA/Herencia_e
n_Java.html
http://dis.um.es/~bmoros/privado/apuntes/Curso09-10/POO3-Java0910.pdf
http://todoenjava.blogspot.mx/2012/01/herencia.html