Java Herencia Y Polimorfismo

Páginas: 9 (2190 palabras) Publicado: 1 de febrero de 2016
Java Herencia y Polimorfismo
Publicado el 27/05/2013 por Miguel Garcia
UNA CLASE REPRESENTA UN CONJUNTO DE OBJETOS que comparten la misma estructura y comportamiento. La clase determina la estructura del objeto al especificar las variables que existirán en cada instancia de la clase, y determina el comportamiento del objeto al proporcionarle los métodos que expresan el comportamiento de estasinstancias.Esta es la idea en potencia. Sin embargo, algo como esto, se da en muchos otros lenguajes de programación. La novedad en la idea central de la programación orientada a objetos– la idea que realmente la diferencia de la programación tradicional– es el permitir a las clases que presentes semejanza entre objetos que comparten algo, pero no todo de la estructura y comportamiento. Estassemejanzas pueden expresarse como herencia.
El termino “herencia” se refiere a que una clase puede heredar parte o toda la estructura y comportamiento de otra clase. La clase que recibe la herencia se llama subclase de la que la cede. Si la clase B es una subclase de A, entonces se puede decir que la clase a en unasuperclase de B.(Aveces se emplean los términos de clase derivada y clase base en lugar desubclase y superclase) Una subclase puede  no solo puede añadir a la estructura y comportamiento que hereda, si no que también puede reemplazar o modificar el comportamiento heredado (aunque no la estructura heredada).  Las relaciones entre subclases y superclases se representa a veces por un diagrama en donde las subclases aparecen debajo y conectadas con las superclases.
En Java, cuando creauna nueva clase, puede declarar que es una subclase de una clase existente. Si esta definiendo la clase llamada B y quiere que sea una subclase de la clase llamada A, deberá escribir:
class B extends A {
.
.// Adiciones a, y modificaciones de,
.// la herencia recibida de la clase A

Es posible declarar varias subclases de una misma superclase. Las subclases, que entonces puedenconsiderarse “sibling classes” o hermanas, comparten la misma estructura y comportamiento, dado que todas ellas reciben la herencia de una misma superclase. La superclase puede verse entonces, como la expresión de todas las estructuras y comportamientos  iguales de las subclases. En el diagrama de la izquierda, las clases B, C, y D son clases hermanas. La herencia se puede extender a través de varias“generaciones” de clases. Esto se representa en el diagrama donde la clase E es una subclase de la clase D que a su vez es una subclase de la clase A. En este caso, la clase E se considera como una subclase de A, aun cuando la herencia es indirecta.
Vamos a ver un ejemplo. Suponga un programa que trata vehículos de motor, incluyendo coche, camiones y motos (Puede ser un programa usado por el departamentode trafico de una empresa para controlar reparaciones). El programa emplea una clase llamada Vehicleque representa todos los tipos de vehículos. La clase Vehicle puede incluir variables instanciables como el numero de matricula y el propietario, y métodos instanciables como transferOwnership(). Estas variables y métodos son comunes a todos los vehículos. Podemos usar tres subclases de Vehicle—coches, camiones y motos– que pueden emplearse para guardar variables y métodos específicos de cada tipo de vehículo. La clase coches(Car) puede añadir una variable instanciable para el numero de puertas,numberOfDoors, La clase camión (Truck) puede tener una para el numero de ejes. numberOfAxles, y la clase motos (Motorcycle) puede tener una variable boleana hasSidecar. (Bien, en teoría es posible).La declaración de estas clases en un programa Java, en líneas generales tendría este aspecto:
class Vehicle {
int registrationNumber;
Person owner; // (asumimos que la clase Person esta definida)
void transferOwnership(Person newOwner) {
. . .
}
. . .
}
class Car extends Vehicle {
int numberOfDoors;
. . ....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia y Polimorfismo en Java
  • 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