Microclase sobre Programación Orientada a Objetos
Temas a tratar:
- Sobrecarga
- Herencia
- Sobreescritura
- Polimorfismo
Sobrecarga
La sobrecarga de métodos es la creación
de varios métodos con el mismo nombre pero con diferente lista de tipos de
parámetros. Java utiliza el mismo número y tipo de parámetros para seleccionar
cuál definición de método ejecutar.
La sobrecarga de constructores, en
cambio, es cuando en una clase existen constructores múltiples, y se dice que
hay una sobrecarga de constructores.
Herencia
La herencia es un mecanismo que permite
la definición de una clase a partir de la definición de otra ya existente. La
herencia permite compartir automáticamente métodos y datos entre clases,
subclases y objetos.
La herencia consiste en “sacar factor
común” para no escribir código de más, y por lo tanto se crea una clase con el
“código que es común a las otras subclases”. A esta clase se le denomina como
“Clase Padre o SuperClase”.
Las clases con un código específico que dependen de la clase padre se les llama
“Clases Hijas”, y heredan de la clase padre todos los atributos y métodos
públicos o protegidos. Pero NO heredan nunca los atributos o métodos privados
de la clase padre.
Sobreescritura
Es una característica más de la herencia
en Java. Cuando una nueva clase se
extiende desde otra que ya existía, todas las variables y métodos que son
miembros de la superclase serán entonces de la subclase. Puede ocurrir que en
la subclase algunos de los métodos de la superclase no sean adecuados, así que
es posible reescribir el método en la subclase para que se adapte su
funcionamiento a los objetos del tipo de la subclase.
Polimorfismo
Este término se utiliza para referirse a
la propiedad por la que es posible enviar mensajes sintácticamente iguales a
objetos de tipos distintos.
Es la capacidad que tienen los objetos de
una clase en ofrecer una respuesta distinta e independiente en función de los
parámetros (diferentes implementaciones) utilizados durante su invocación.
Dicho de otro modo el objeto como entidad puede contener valores de diferentes
tipos durante la ejecución del programa.
Para poner de ejemplo: podemos crear dos
clases distintas, Gato y Perro, que heredan de la superclase Animal. La clase
Animal tiene el método abstracto makesound()
que se implementa de forma distinta de cada una de las subclases (gatos y
perros suenan de forma distinta). Entonces, un tercer objeto puede enviar el
mensaje de hacer sonido a un grupo de objetos Gato y Perro por medio de una
variable de referencia de clase Animal, haciendo así u uso polimórfico de
dichos objetos respecto del mensaje mover.
A continuación dejamos una pequeña presentación en PowerPoint:
Alumnos:
Daniel Volcán C.I: 28326896
David Mendoza. C.I: 30248458