Herencia y Concepto de Interface

14
Herencia y Concepto de Interface Estructura de Datos 2007

description

Herencia y Concepto de Interface. Estructura de Datos 2007. HERENCIA. Lo que le da a la clase potencia es el concepto de herencia. Un objeto puede recibir (heredar) las propiedades de su objeto padre. - PowerPoint PPT Presentation

Transcript of Herencia y Concepto de Interface

Page 1: Herencia y Concepto de Interface

Herencia y Concepto de Interface

Estructura de Datos

2007

Page 2: Herencia y Concepto de Interface

Lo que le da a la clase potencia es el concepto de herencia.Lo que le da a la clase potencia es el concepto de herencia.

Un objeto puede recibir (heredar) las propiedades de su objeto padre. Un objeto puede recibir (heredar) las propiedades de su objeto padre.

Los humanos construimos taxonomias para describir la relación de un tipo Los humanos construimos taxonomias para describir la relación de un tipo de objeto con otro tipo. (Ejemplo las clasificaciones estudiadas en biología).de objeto con otro tipo. (Ejemplo las clasificaciones estudiadas en biología).

Todo animal tiene un reino, una clase, un orden, un genero y habitualmente Todo animal tiene un reino, una clase, un orden, un genero y habitualmente subespecies.subespecies.

La organización nos ayuda a reducir drásticamente la cantidad de La organización nos ayuda a reducir drásticamente la cantidad de información que debemos almacenar. Si ya se sabe lo que es un Ave, la información que debemos almacenar. Si ya se sabe lo que es un Ave, la frase “un pato es un Ave que nada” transmite una considerable cantidad de frase “un pato es un Ave que nada” transmite una considerable cantidad de información. Indica información sobre la biología del pato (es de sangre información. Indica información sobre la biología del pato (es de sangre caliente), su ciclo reproductivo (pone huevos), sus hábitos estaciónales caliente), su ciclo reproductivo (pone huevos), sus hábitos estaciónales (vuela al sur o al norte para pasar el invierno, etc.(vuela al sur o al norte para pasar el invierno, etc.

HERENCIA

Page 3: Herencia y Concepto de Interface

La mayoría de la información que conocemos de la clase Ave puede ser almacenada en un lugar y volver a utilizarse con las clases Patos, Gansos, Gorriones, Halcones, etc.

La relación entre pato y un Ave se denomina la relación ES_UN (un pato ES_UN ave, lo contrario no siempre es cierto). Esta relación y sus implicaciones son fundamentales para la programación orientada a objetos.

Una clase hereda las variables y los métodos de otra clase empelando la palabra clave extends. En la practica esto aparece como:

Page 4: Herencia y Concepto de Interface

Class CuentaBanco{

private double saldo;

public double retSaldo(){

return saldo;

}

}

Class ChequeaCuenta extends CuentaBanco{

public void EscribeChequeo (double monto){

//….

}

//… otros metodos exclusivos …

}

Class miClase{

public static void algunaFuncion(){

ChequeaCuenta ca = new ChequeaCuenta();

ca.Deposito (100.00);

System.out.println(ca.Saldo());

}

}

Page 5: Herencia y Concepto de Interface

INTERFACES

Una interface es un conjunto de declaraciones de funciones. Si una clase implementa (implements) una interface, debe definir todas las funciones que especifica la interface. Una clase puede implementar mas de una interface, esto posibilita la herencia múltiple.

Una interface puede derivar de otra o incluso de varias interfaces, en cuyo caso incorpora todos los métodos de las clases de las interfaces que deriva.

Page 6: Herencia y Concepto de Interface

Public interface Persistente{

void Almacena();

void Recupera();

}

Class Ejemplo implements Persistente{

// Obligado a implementar los métodos

// de la interface.

}

Class Ejemplo extends Cuenta implements Persistente{

// Hereda los métodos de Cuenta.

// Obligado a implementar los métodos

// de la interface.

}

Page 7: Herencia y Concepto de Interface

ARREGLOS

Declaración preferida de un arreglo:int[] A;

Declaración compatible con C:int A[];

En Java, la declaración de un arreglo es similar a la declaración de un puntero en C:

En Java int[] A;En C int* A;

Page 8: Herencia y Concepto de Interface

ARREGLOS

Errores típicos con arreglos:

int A[10]; // Ahí no va el tamaño!int[] A; // Ok!A[1] = 100; // Todavía no se ha pedido

// espacio para el arreglo. Petición de espacio para un arreglo:

int[] A;A = new int[10];A[1] = 100; // Correcto!

O:

int [] A = new int[10]; // Correcto!

Page 9: Herencia y Concepto de Interface

IMPLEMENTACION DE UNA LISTA UTILIZANDO ARREGLOS

Public interface Lista{// Tamaño de la lista (Largo Actual)public int size();// public boolean isEmpty();public boolean hayEspacio();

public Object RetPrimero();public Object RetUltimo();public Object RetMedio(int pos);

public void AddPrimero(Object elemento);public void AddUltimo(Object elemento);// Agrega después de pospublic void AddMedio(Object elemento, int pos);

}

Page 10: Herencia y Concepto de Interface

IMPLEMENTACION DE UNA LISTA UTILIZANDO ARREGLOS

public class ArregloLista implements Lista{

}

Page 11: Herencia y Concepto de Interface
Page 12: Herencia y Concepto de Interface
Page 13: Herencia y Concepto de Interface
Page 14: Herencia y Concepto de Interface