Herencia y Polimorfismo En Java

Páginas: 20 (4908 palabras) Publicado: 24 de octubre de 2011
Herencia y Polimorfismo
Introducción
Hasta lo que hemos desarrollado de este curso se ha destacado una de la propiedades mas importantes de la programación orientada a objetas la Abstracción. La cual se pone de manifiesto en la Encapsulación, que consiste en proteger los datos del mundo exterior, permitiendo el acceso a ellos a través de una interfase. Las clases como ya conocemos permitenimplementar modelos que ayudan al programador simular situaciones complejas del mundo real. Ahora las clases no son suficientes por si solas para soportar diseño y programación orientada a objetos, se requiere de un mecanismo para relacionar una clase con otra, este mecanismo lo conoceremos por el nombre de Herencia la cual es una de las características mas importantes, después de las clases, en laprogramación orientada a objetos.
Herencia
El concepto de herencia constituye, a nuestro juicio, la principal innovación del desarrollo orientado a objetos. Se trata de un concepto bastante simple e intuitivo que, de una manera informal, puede definirse como:
"el mecanismo que permite definir una clase de objetos tomando como base la definición de otra clase"
Una clase se define en términos deatributos y de métodos (u operaciones). Por tanto, otra forma de expresar la definición anterior seria la siguiente:
"herencia es el mecanismo que permite a una clase de objetos incorporar atributos y métodos de otra clase, añadiéndolas a las que ya posee".
En la terminología habitual, la clase que hereda las características de otra y la clase de partida reciben los calificativos de "subclase"y "superclase", respectivamente. De ahí que, en numerosas ocasiones, la relación de herencia aparezca también referenciada como "superclase/subclase".
Por otro lado, también suele ser muy habitual hablar en términos de "clase padre" o “clase base” y "clase hija" o “clase derivada”, dado lo intuitivo de ambos términos.
La ventaja mas importante que nos da la Herencia es la reutilización: la cualconsiste en la reutilización del código existente en una o mas clases derivando simplemente una clase de ella, en otras palabras es la flexibilidad que proporciona para capturar y aprovechar al máximo las características comunes de diferentes clases de objetos. Dicha flexibilidad se manifiesta, fundamentalmente, en dos sentidos:
• Por un lado, permite recoger los aspectos comunes de dos o másclases de objetos con el máximo nivel de detalle (a nivel de atributo y de método).
• Por otro, ofrece la posibilidad de establecer tantos niveles de abstracción (o de especialización, según se mire) como sean necesarios para reflejar fielmente nuestro modelo de la realidad. Surge, de este modo, el concepto de jerarquía de clases
El uso de la herencia en la programación orientada a objetosimplica la creación de clases a partir de clases ya existentes, como ejemplo para ilustrar esto podríamos tener una clase Casa que consta de una cocina, un salón, un baño y un dormitorio. Esta clase se podría utilizar como bloque de construcción para crear casas más grandes o mansiones, basta añadir a la clase Casa más dormitorios, más baños y más salones y tendremos una lujosa mansión. Se diceque la clase Mansión se deriva de la clase Casa. La Clase seria la clase padre, clase base, superclase o ascendiente y la clase Mansión creada a partir de la clase Casa se llama clase derivada, subclase o clase hija.
Tipos de Herencia
Existen dos tipos de herencia: herencia simple y herencia múltiple. La herencia simple: es aquella en la cual la clase derivada hereda de una única clase, lo cualimplica que una clase derivada tiene solo un ascendiente. Cada clase base sin embargo puede tener muchos descendientes en la figura 1 se ilustra una relación de herencia simple.
La herencia múltiple: es aquella en la cual la clase derivada tiene mas de una clase base, por lo cual la clase derivada tiene mas de un ascendiente. La figura 2 ilustra una relación de herencia múltiple.
[pic]...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java Herencia Y Polimorfismo
  • Herencia y Polimorfismo en Java
  • polimorfismo y herencia
  • HERENCIA Y POLIMORFISMO
  • herencia y polimorfismo
  • herencia y polimorfismo
  • Herencia y polimorfismo
  • Herencia y polimorfismo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS