Perro

Páginas: 5 (1029 palabras) Publicado: 9 de noviembre de 2012
Trabajo de investigación
Herencia y manejo de excepciones
Herencia
La herencia es uno de los conceptos más cruciales en la Programación Orientada a Objetos. La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodospropios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia. Es en pocas palabras es un tipo especial de relación entre clases.
Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se pueden definir nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se puedendefinir nuevas clases a partir de dos o más clases iniciales. Java sólo permite herencia simple.

* Superclase: Es la clase padre y puede tener cualquier número de subclases.
* Subclase: Es la clase hija y puede tener solo una superclase.
- Super permite acceder tanto a los constructores como a los métodos de la superclase.
- Se puede llamar al constructor de una superclase desde elconstructor de la subclase utilizando la palabra super([args]) en la primera sentencia, excepto si se llama a otro constructor de la misma clase con this.
- Existe una llamada implícita al constructor por defecto de la superclase aunque no se especifique.

En la imagen de la izquierda se observa que:

* A es la superclase de B, C y D.
* D es la superclase de E.
* B, C y D son subclasesde A.
* E es una subclase de D.

Consiste en la existencia de dos clases a las que llamaremos padre (superclase o clase base) e hija (Subclase o clase derivada), en las que, al igual que en la vida real, la clase hija pasa a heredar los atributos y métodos que tiene la clase padre.
Consiste en que en la clase hija se definen las diferencias respecto de la clase padre, y se utiliza paraextender la funcionalidad de la clase padre y para especializar el comportamiento de la clase padre.

Sobre escritura de código
Un método se puede especializar, redefinir o sustituir (overriding) en una subclase. El tipo de retorno, nombre del método, tipo y número de argumentos deben ser el mismo. Las excepciones lanzadas deben ser, como mucho, las declaradas por el método a redefinir.

Losmodificadores deben ser al menos tan generales como los del métodos en la superclase (por ejemplo protected -> public, pero no protected -> prívate)
Super.nombreMetodo([args]) -> Método de la superclase
Si el método en la superclase es “Final” no se puede hacer overriding -> seguridad o diseño perfecto.

Final
Una clase puede declarar una clase como final, cuando no nos interesacrear clases hijas de ddicha clase (P.E. clase String – razones de seguridad)
Un atributo final es constante
Un método declarado como final no puede ser redefinido en herencia por las clases hijas

Ventajas
Se ahorra código
Permite reutilizar código extendiendo su funcionalidad
Se puede crear una clase sin necesidad de reescribirla por completo.

Desventajas
Se ahorra código
Se introduceuna fuerte dependencia en la clase hija respecto a la clase padre
Puede dificultar la reutilización
Un cambio en la clase padre puede tener efectos imprevistos en las clases hijas
Un objeto de una clase hija puede tener un comportamiento inconsistente con lo esperado de un objeto de la clase padre
Se establece una jerarquía o clasificación. Si cambia el criterio de clasificación puede acarrearmuchas modificaciones
Polimorfismo
Un objeto solamente tiene una forma (la que se le asigna cuando se construye ese objeto) pero la referencia a objeto es polimórfica porque puede referirse a objetos de diferentes clases (es decir, la referencia toma múltiples formas). Para que esto sea posible debe haber una relación de herencia entre esas clases. Por ejemplo, considerando la figura anterior...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • El cono de tu perro
  • Perros
  • Perros
  • El perro
  • Perro
  • Perro
  • Perro
  • Perros

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS