herencia y polimorfismo

Páginas: 7 (1613 palabras) Publicado: 5 de noviembre de 2013
HERENCIA
DEFINICIÓN
La idea de la herencia es permitir la creación de  nuevas clases basadas en clases existentes. Cuando heredamos de una clase existente, reusamos  (o heredamos) métodos y campos, y agregamos nuevos campos y métodos para cumplir con la situación nueva. Cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.

La clase yaexistente es llamada superclass, o clase base, o clase padre.
La clase nueva es llamada subclase, clase derivada, o clase hija.
el mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases partiendo de una clase o de una jerarquía de clasespreexistente (ya comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase.
Es la relación entre una clase general y otra clase más específica.Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo. La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su funcionalidad. La clase dela que se hereda se suele denominar clase base, clase padre, superclase, clase ancestro (el vocabulario que se utiliza suele depender en gran medida del lenguaje de programación).
En los lenguajes que cuentan con un sistema de tipos fuerte y estrictamente restrictivo con el tipo de datos de las variables, la herencia suele ser un requisito fundamental para poder emplear el Polimorfismo, al igualque un mecanismo que permita decidir en tiempo de ejecución qué método debe invocarse en respuesta a la recepción de un mensaje, conocido como enlace tardío (late binding) o enlace dinámico (dynamic binding). A través de la herencia podemos agregar nuevos campos, y podemos agregar o sobre montar métodos (override). Sobre montar un método es redefinirlo en la case heredada.





SINTAXISEJEMPLOS
class Humano {
protected String nombre;
protected String apellido;
public Humano(String nombre,String apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
public String nombreCompleto() {
return this.apellido + ", " + this.nombre;
}
public String identificacion() {
returnthis.nombreCompleto();
}

}

class Ciudadano extends Humano {
protected String documento;

public Ciudadano(String nombre,String apellido, String documento) {
super(nombre,apellido);
this.documento = documento;
}
public String identificacion() {
return super.identificacion() + ", documento: " + this.documento;
}
}
public class Herencia {
publicstatic void main (String args[]) {
Humano a = new Humano("Emilio","Rosso");
Ciudadano b = new Ciudadano("Emilio","Rosso","3052454545");
Humano [] arregloDeHumanos;
arregloDeHumanos.push(a);
arregloDeHumanos.push(b);
identificarPolimorfico(arregloDeHumanos);
}

public static void identificarPolimorfico(Humano [] arregloDeHumanos) {for(int i = 0; i < arregloDeHumanos.length ; i++) {
System.out.println("Identificando: " + arregloDeHumanos[i].identificacion());
}
}
}
POLIMORFISMO
El polimorfismo, como su mismo nombre sugiere múltiples formas, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo interfaz. O sea, que, en la práctica, un mismo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • HERENCIA Y POLIMORFISMO
  • herencia y polimorfismo
  • herencia y polimorfismo
  • Herencia y polimorfismo
  • Herencia y polimorfismo
  • Encapsulamiento herencia y polimorfismo
  • Herencia y polimorfismo en c++
  • herencia y polimorfismo en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS