You are on page 1of 14

POO

Programacin Orientada a Objetos


La Herencia

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

En VB.NET se indica herencia entre clases mediante la palabra reservada Inherits


4

Ejemplo
Superclase SuperHroe -traje -poderEspecial
+ponerTraje()

Es general

+usarPoderEspecial()

Aquaman -traje -poderEspecial


+nadar()

Batman -traje -poderEspecial


overriding +ponerTraje() +usarPoderEspecial() + usarBatimvil()
5

subclases

Herencia

Hay overriding de mtodos pero no de variables de instancia, ya que stas no definen ningn comportamiento especial o distinto.

Composicin vs. Herencia


Uno de los conceptos que mas llegan a confundirse con el de la Herencia es el de la composicin. La composicin se define como que para un determinado objeto, uno de sus atributos es un objeto de otra clase. La composicin puede definirse como una relacin de TIENE UN, y antes de analizar los conceptos de herencia, repasaremos composicin.

Formas de implementar la herencia en Visual Basic. Net

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:

Nmero de serie del motor. Marca. Ao. Precio.

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

You might also like