Tarea I Unidad III

Definiciones

Alumno: Yáñez Aguilar Víctor Hugo Maestra: Zozaya Grupo: A Materia: POO Carrera: ISC No. De Control: 12590421

- HERENCIA

La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos. La herencia está fuertemente ligada a la reutilización del código en la OOP. Esto es, el código de cualquiera de las clases puede ser utilizado sin más que crear una clase derivada de ella, o bien una subclase. Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se pueden definir nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se pueden definir nuevas clases a partir de dos o más clases iniciales. EJEMPLO:
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() { return this.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 { public static 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 es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación. Recuerde el ejemplo del ecosistema, en donde todos los objetos de las distintas especies heredaban de una superclase llamada Animal, que brindaba la información general de cualquier animal, independiente de su especie. Sin embargo, cada especie hace un uso particular de cada uno de los métodos u operaciones de la clase Animal. El método comer() no se ejecutará de la misma manera en un León() o en un Pavo(). Lo mismo ocurre para métodos moverse() en objetos de tipo Tiburón() o Gallina(), aunque todas las especies realicen estos métodos. A la sobrescritura o implementación específica de métodos es la clave del polimorfismo. Para poner en práctica se hará un ejemplo bastante sencillo. Se hará una librería de clases que represente figuras tridimensionales y bidimensionales, y su respectiva jerarquía de clases. Las clases deben ser capaces de tener funcionamiento bastante básico, como obtener áreas, volúmenes y perímetros de la figura correspondiente.

-

CLASE ABSTRACTA

Clases cuya descripción es incompleta • Se definen utilizando la palabra reservada abstract • No proporcionan la implementación de todos sus métodos –Los métodos no implementados se declaran como abstract • Una clase con un método abstracto debe declararse como clase abstracta –Pero una clase puede declararse como abstracta aunque no tenga ningún método abstracto

• Las subclases de una clase abstracta deben: –Sobreescribir todos los métodos abstractos de la superclase, o bien –Ser declaradas como clases abstractas • Una clase abstracta no puede instanciarse –No se pueden crear objetos de una clase abstracta

EJEMPLO:

Clases Abstractas: ObjetoGrafico y Paralelogramo En el programa de dibujo sólo se van a crear objetos gráficos concretos de : puntos, elipses, círculos, cuadrados, rectángulos, rombos o romboides.

CLASE BASE: Es una base de datos que incorpora todos los conceptos importantes del modelo de objetos
public class Ventana { protected int x; protected int y;

protected int ancho; protected int alto; public Ventana(int x, int y, int ancho, int alto) { this.x=x; this.y=y; this.ancho=ancho; this.alto=alto; } //... }

- CLASE DERIVADA:

Es cuando alguna de las clases deriva de más de una clase base

-CLASE GENERICA

Tipo de dato con el que se desea interactuar, sin embargo esto no siempre es conocido por ello para poder trabajar con la clase