30 likes | 259 Views
Herencia. La jerarquía de clases es un mecanismo a través del cual los cambios (a altos niveles) se pueden propagar inmediatamente a través de todo el sistema.
E N D
Herencia La jerarquía de clases es un mecanismo a través del cual los cambios (a altos niveles) se pueden propagar inmediatamente a través de todo el sistema. En cada nivel de la jerarquía de clases, pueden añadirse nuevos atributos y operaciones a aquéllos que han sido heredados de niveles superiores de la jerarquía. Opciones para crear una clase: La clase puede diseñarse e implemen-tarse de la nada No se usa herencia. Se puede rastrear la jerarquía de clases para determinar si una clase ascen-diente contiene la mayoría de atributos y operaciones requridas. La nueva clase hereda de su clase ascendiente y pueden añadirse otros elementos si hacen falta. DS1 María E. Valencia
Herencia 3. Las características de una clase existente pueden sobreescribirse (mecanismo de sustitución) y se pueden implementar versiones de atrinutos u operaciones para la nueva clase (mecanismo de enriquecimiento). Ejemplo: figura 20.8a. 4. La jerarquía de clases puede reestructu- rarse de tal manera que los atributos y operaciones requeridas pueden ser heredados por la nueva clase. Ejemplo: figura 20.8b. DS1 María E. Valencia
Encapsulamiento Beneficios principales de la arquitectura O.O: • Detalles de implementación interna de datos y procedimientos están ocultos al mundo exterior (ocultamiento de información) Se reduce la propagación de efectos colaterales cuando ocurren cambios. • Las estructuras de datos y las operaciones que las manipulan están mezcladas en una entidad sencilla: la clase se facilita la reutilización de componentes. 3. Las interfaces entre objetos encapsulados están simplificadas. Un objeto que envía un mensaje no tiene que pereocuparse delos detalles de las estructuras de datos internos en el objeto receptor se simplifica la interacción, se tiende a reducir el acoplamiento del sistema. DS1 María E. Valencia