
En programacion orientada a objetos la herencia es el mecanismo fundamental para implementar la reutilizaacion y extensibilidad del software. Atra vez de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquia de clases ya existentes (comprobadas y verificadas) evitando con ello el rediseño, la modificacion y verificacion de la parte ya implementada. La herencia facilita la creacion de objetos apartir de otros ya existentes obteniendo caracteristicas (metodos yu atributos) similares a los ya existentes...
La herencia es uno de los mecanismos de la programacion orientada a objetos, por medio el cual una clase se deriva en otra, llamada entonces clase base o clase padre (a veces se le donima superclase pero no es muy comun)
_________________________________________________________________
public class Mamifero}
private int patas;
private string nombre;
public void imprimirPatas(){
JOptionPane.showMessageDialog(null," Tiene " + patas + "patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE);
}
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)
}
}
publi class CrearPerro{
public static void main(string [] args) }
Perro perrito = new Perro("canelita");
perrito.imprimirPatas(); /*Esta en la clase mamifero*/
}
}
_________________________________________________________________
Se declaran las clases mamiferos, gato y perro, haciendo que gato y perro sean unos mamiferos (derivados de esta clase) y se ve como a traves de ellos se nombra al animal pero asi tambien se accede a patas dandole el valor por defecto del numero de patas.
"CLASE ABSTRACTA"
La herencia permite que existan clases que nunca seran instancias directamente. En el ejemplo anterior, una clase "Perro" heredaria los atributos y metodos de la clase "Mamifero", asi como tambien "gato", "delfin" o cualquier otra subclase; pero, en ejecucion, no habria ningun objeto "mamifero" que no pertenezca a alguna de las subclases. En ese caso, a una clase se le conoceria como "Clase Abstracta" .
"HERENCIA Y OCULTACION DE INFORMACION
El diseñador puede definir que variables de instancia y metodos de los objetos de una clase son visibles. En C++ y java esto se consigue con las especificaciones private, protected y public. Solo las variables y metodos definidos como publicos en un objeto seran visibles por todos los objetos.
En cuanto a las subclases, que heradan las estructuras de las superclases, el diseñador puede controlar que miembros de las superclases son visibles en las subclases.
En el caso de java y C++ los especificadores de acceso (private, protected,) de los miembros de la superclase afectan tambien a la herencia.:
- Private: ningun miembro privado de la superclase es visible en la subclase.
- Protected: los miembros protegidos de la superclase son visible en la subclase, pero no visibles para el exterior.
- Public: los miembros publicos de la superclase siguen siendo publicos en la subclase.
"ESTEREOTIPOS DE HERENCIA"
- Herencia simple: Un objeto puede extender las caracteristicas de otro objeto y de ningun otro, es decir puede heredar atributos de un solo padre o de una sola clase.
- Herencia multiple: Un objeto puede extender las caracteristicas de uno o mas objetos, es decir puede heredar atributos de varias clases.
"VENTAJAS"
- Ayuda a la programadores ahorrar codigo y tiempo, ya que si tiene una clase lista es solo implentarla y listo todo el codigo de esta se resume a un solo llamado...
- Los objetos pueden ser construidos de otros similares. Para ello es necesario que exista una clase base y una jerarquia(relacionamiento de clases)...
- La clase derivada puede heredar codigo y datos de la clase base, añadiendo codigo o modificando codigo heredado...
- Las clases que heredan propiedades de otra clase puede servir como clase base de otra...
Realizado por:
- Flores Sobrevilla Leonardo David
- Guadalupe Rosales Carlos
No hay comentarios:
Publicar un comentario