Professional Documents
Culture Documents
POO
Conceptos de Herencia
Importancia y Uso
Qu es Herencia?
La herencia es un mecanismo de reutilizacin de software que permite crear nuevas clases que adquieren los atributos y mtodos de alguna clase predefinida
HERENCIA
Permite manipular las semejanzas entre objetos mediante una jerarqua Cuando una clase hereda de otra se dice que la subclase hereda de la superclase. Cuando la subclase hereda de la superclase, la primera hereda TODOS los mtodos y variables de la superclase. La herencia es aditiva
Ejemplo
Superclase SuperHroe -traje -poderEspecial
+ponerTraje()
Es general
+usarPoderEspecial()
subclases
Herencia
Hay overriding de mtodos pero no de variables de instancia, ya que stas no definen ningn comportamiento especial o distinto.
La herencia permite crear una clase nueva heredando una clase pre-existente y opcionalmente agregando mtodos y variables adicionales. Tambin se pueden poner varias clases relacionadas como hijas de una clase abstracta.
Cmo heredar?
La palabra reservada Inherits sirve para heredar los mtodos y atributos de la clase base
public class Animal // SUPERCLASE End Class public class Vertebrado Inherits Animal // SUBCLASE End Class
Elabore el diagrama de clases en UML y la codificacin de un programa para resolver los siguientes problemas:
Una compaa editorial produce tanto libros impresos como audio-libros en discos compactos. Disee una clase denominada Publicacin que almacene el ttulo (cadena) y el precio (numrico real) de una publicacin. A partir de esta clase, derive dos clases: Libro a la cual le agregue el nmero de pginas (entero) y CD, a la cual le agregue el tiempo de reproduccin en minutos (numrico real). Cada una de las clases debe tener propiedades para acceder a sus respectivos datos. Elabore un diagrama de clases UML indicando las relaciones de herencia y codifique un sistema mediante el cual se generen instancias de las clases Libro y CD, donde el usuario capture sus datos y se inserten en los respectivos objetos. Disee la forma que se muestra a continuacin.
10
11
Cuando el usuario seleccione el libro impreso, entonces debe activarse el cuadro de texto para capturar el nmero de pginas y desactivar el cuadro de texto del tiempo en minutos; mientras que si el usuario selecciona el audio-libro, entonces debe activarse el cuadro de texto del tiempo en minutos y desactivar el cuadro de texto del nmero de pginas.
12
Tarea #3
Una agencia vendedora de autos desea un sistema computacional para administrar los datos de sus vehculos y clasificarlos por tipo. Todos los autos tienen los siguientes datos:
13
Los vehculos se clasifican en autos compactos, autos de lujo, camionetas y vagonetas. Para los autos y vagonetas, tambin es importante almacenar la cantidad de pasajeros; mientras que para las camionetas se debe controlar la capacidad de carga en kgs. y la cantidad de ejes y de rodadas. Modele este sistema con diagramas de clases en UML e instancie cada una de las clases, asignndole datos mediante sus respectivas propiedades. Agregue un constructor a cada clase para inicializar sus datos e invoque el constructor de la clase base desde el constructor de cada clase derivada.
14