Você está na página 1de 4

Ingeniera en Desarrollo de Software

Programacin orientada a Objetos


3er Semestre
Alumno: Daniel Pineda de la Riva
Matricula: es162006588
Docente: Martha Michaca Leano
Unidad 3
Autorreflexiones.
Cul fue la mayor ventaja que percibiste al aplicar la herencia?

Con lo que hemos visto podemos decir que la herencia tiene dos implicaciones
importantes: la primera, la reutilizacin de cdigo (herencia de cdigo) y la segunda el
permitir el polimorfismo (herencia del tipo). La herencia admite tres variantes:

a) Herencia a partir de clases concretas (extends o herencia simple): heredamos el tipo y


la implementacin. Opcionalmente en la clase que extiende agregaremos nuevos
mtodos o sobrescribiremos otros ya existentes.

b) Herencia a partir de interfaces (implements o forma de herencia mltiple): heredamos el


tipo sin implementacin. Para poder instanciar, todos los mtodos deben ser
sobreescritos.

c) Herencia a partir de clases abstractas (extends sobre una clase abstracta, variante de
herencia simple): heredamos el tipo y posiblemente un fragmento de implementacin.
Para poder instanciar, aquellos mtodos abstractos han de ser sobreescritos, y la
subclase pasara a ser concreta. Si no se implementan todos los mtodos abstractos, la
subclase sigue siendo abstracta.

Describe como aplicaste el polimorfismo en tus clases.

Utilizando una misma expresin para invocar diferentes versiones de un mismo mtodo,
para que me permitiera hacer diferentes implementaciones de los mismos mtodos.

Realizando diferentes implementaciones de un mismo mtodo, para poder adaptarlo a las


necesidades propias de cada clase.

3. Para qu se usan las interfaces en programacin?

Una interfaz (tambin llamada protocolo) es un medio comn para que los objetos no
relacionados se comuniquen entre s, permitiendo determinar el funcionamiento de una
clase, es decir, funciona como un molde o como una plantilla.
4. Describe como implementas mtodos abstractos.

Una clase que declara la existencia de mtodos, pero no la implementacin de dichos


mtodos (o sea, las llaves {} y las sentencias entre ellas), se considera una clase
abstracta.

Una clase abstracta puede contener mtodos no-abstractos, pero al menos uno de los
mtodos debe ser declarado abstracto.

Para declarar una clase o un mtodo como abstractos, se utiliza la palabra reservada
abstract.

abstract class Drawing

abstract void miMetodo (int var1, int var2);

String miOtroMetodo(){ ... }

Una clase abstracta no se puede instanciar, pero si se puede heredar y las clases hijas
sern las encargadas de agregar la funcionalidad a los mtodos abstractos. Si no lo
hacen as, las clases hijas deben ser tambin abstractas.
Referencias:

Joyanes, L. (2001). Programacin orientada a objetos versus programacin estructurada:


C++ y algoritmos. Espaa: McGrawHill Interamericana.

Joyanes, L., y Fernndez, M. (2001). Java 2: manual de programacin. Espaa:


McGrawHill Interamericana.

Carlos Coronel. (2011). Bases de Datos Diseo, Implementacin y Administracin.


Mxico: Cengage.

Você também pode gostar