HERENCIA

Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch)
Cada clase que hereda de otra posee:
Los atributos de la clase base además de los propios
Soporta todos o algunos de los métodos de la clase base
Una subclase hereda de una clase base
Ejemplo:
Herencia “Es-Un”: herencia real, donde la subclase es un tipo específico de la superclase
Un Cuadrado es un Rectángulo
Un perro es un mamífero
Un automóvil es un vehículo a motor
El propósito principal de la herencia es el de organizar mejor las clases que componen una determinada realidad, y poder agruparlas en función de atributos y comportamientos comunes a la vez que cada una se especializa según sus particularidades.
Cabe aclarar además que hay dos tipos de herencias:
Herencia Simple: una clase derivada puede heredar sólo de una clase base (los lenguajes .NET soportan este tipo de herencia)
Herencia Múltiple: una clase derivada puede heredar de una o más clases base (C++ es un ejemplo de lenguaje que soporta este tipo de herencia).

[]DCE


Herencia

Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Es la relación entre una clase general y otra clase mas especifica. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, Nos permite compartir automáticamente métodos y datos entre clases subclases y objetos. Por ejemplo: Si declaramos una clase párrafo derivada de un 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 la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces superclase, de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.

La idea es la de partir de las situaciones más generales e ir derivando hacia las más particulares, creando categorías, de la misma forma en que piensa el ser humano.

public class Mamifero
{

private int patas;
private String nombre;

public void imprimirPatas()
{
System.out.println(nombre + " tiene " + patas + " patas\n");
}

public Mamifero(String nombre, int patas)
{
this.nombre = nombre;
this.patas = patas;
}
}

public class Perro extends Mamifero
{
public Perro(String nombre){
super(nombre, 4);
}
}

public class Gato extends Mamifero{
public Gato(String nombre){
super(nombre, 4);
}
}

public class CreaPerro {
public static void main(String [] args) {
Perro bobi = new Perro("Bobi");
bobi.imprimirPatas(); /*Está en la clase mamífero*/
}
}


Se declaran las clases mamíferos, gato y perro, haciendo que gato y perro sean unos mamíferos (derivados de esta clase), y se ve como a través de ellos se nombra al animal pero así también se accede a patas dándole el valor por defecto para esa especie.
[]w

0 Response to "HERENCIA"

Powered by Blogger