Académique Documents
Professionnel Documents
Culture Documents
Que son las clases?: son herramientas que ofrecen ciertos lenguajes que
implementan el paradigma, que permiten agrupar en un solo lugar la misma
implementacion de una responsabilidad compartida por distintos objetos.
JERARQUIA:
frecuentemente un conjunto de abstracciones forma una jerarqua y la
identificacin de esas jerarquas en el diseo simplifica en gran medida la
comprensin del problema. La jerarqua es una clasificacin u ordenacin de
abstracciones.
La herencia implica una jerarqua de generalizacin/especializacin, en la que
una subclase especializa el comportamiento o estructura, mas general, de sus
superclases.
Herencia: significa que el comportamiento y los datos asociados con clases
hijas son una extensin de las propiedades asociadas a clase padre. Una
subclase tendr todas las propiedades de la clase padre y tambin otras
propiedades. Una clase hija es una forma ms especializada de la clase padre.
Tambin es, en cierto sentido, una contraccin del tipo de la clase padre.
Formas de herencia:
Subclases de la especializacin: la clase nueva es una especializacin de
la clase padre.
Subclase por especificacin: las clases tienen una misma interface .
Subclase por construccin: una clase hereda casi todas las funcionalidades
del padre, capaz cambiando solo los nombres de los mtodos usados para la
interfaz.
Subclase por generalizacin: una subclase extiende el comportamiento del
padre para hacer un objeto mas generalizado
Subclase por extensin: modifica o expande las funciones ya hechas,
agrega nuevas habilidades.
Subclase por limitacin: ocurre cuando el comportamiento de la subclase es
menos o mas restrictiva que el del padre. Al igual que la 4ta, pasa cuando se
construye en base a clases que no deben o no pueden modificarse.
Subclase por diferencia: cuando dos o mas clases tienen implementaciones
parecidas pero no tienen relacin jerarquica.
Subclase por combinacin: la clase hijo tiene dos o mas padres.
Razones para usar la herencia:
1- Reutilizacin de cdigo: una clase hija puede heredar el comportamiento
desde una clase padre, el cdigo no tiene porque ser reescrito para la
clase hija. Esto pude reducir enormemente la cantidad de cdigo
necesario para desarrollar una nueva idea.
2- Reutilizacin de concepto: una clase hija anula el comportamiento
definido en la clase padre. Hijo y el padre comparten la definicin del
mtodo( comportamiento)
Casting: es utilizado para la conversin explicita del tipo de una expresion
Polimorfismo: permite que un mismo nombre pueda quedar asociado a
diferentes significados, dentro de un mismo ambiente de referenciamiento. Una
variable polimrfica puede quedar ligada a objetos de diferentes clases. La
ligadura entre una variable polimrfica y un objeto se establece a travs de
una asignacin polimrfica.
dos o mas objetos son polimrficos con respecto a un mensaje, si todos
pueden entender ese mensaje, aun cuando cada uno lo haga de un modo
diferente.
-
1.
2.
3.
4.
5.
6.
Cdigo genrico.
Objetos desacoplados
Objetos intercambiables
Objetos reutilizables.
Programar por protocolo,no por implementacion.
Trabajamos con un nivel de acoplamiento; el objeto emisor conoce lo
minimo indispensable del objeto al que le esta enviando el mensaje, lo
cual brinda flexibilidad a nuestro programa y evita la propagacin de
cambios locales en el resto del sistema.