Sunteți pe pagina 1din 4

***********************************************************************************

**********
*********************************** POLIMORFISMO
********************************************
***********************************************************************************
**********

El polimorfismo es una de las caracteristicas mas importantes de la programcion


orientada
a objetos. En java, es prinsipalmente la capasidad para enviar el mismo mensaje a
objetos dife
rentes en donde cada uno de ellos responde de un modo espesifico.

Una de las formas en que se presenta el polimorfismo es por medio de la


sobrecarga que se
produse cuando se dispone de un numero de metodos o funciones diferentes p�ro
representadas por
el mismo nombre. El polimorfismo puro se produce cuando una unica funcion o metodo
se puede
aplicar a diferentes tipos de argumentos. En el polimorfismo puro hay un solo
metodo o funcion
y cierto numero de interpretacion.

CLASES ABSTRACTAS

Una clase definida puede representar un consepto abstracto y como tal no se puede
instanciar
por ejemplo cuando pensamos en la idea de comida nos referimos a una idea muy
general, la idea
concreta que si podemos representar podria ser pensar en un chocolate.

Una clase que se dise�a para ser generica no requiere crear objetos de ella. Son
llamadas
clases abstractas y la razon de su existencia es proporsinoar los atributos y
comportamientos
que seran utiles a todas sus subclases.

Su definicion se hace con la palabra abstract

Modificador abstract class Nombre {

//cuerpo

Una clase abstracta puede contener cualquier tipo de miembro y ademas metodos
abstractos
mismos que una clase no abstracta no puede tener.Un metodo abastracto es aquel que
no tiene
cuerpo.

public abstract classs Ccuenta {


Public abstract void Deposito ();

Las clases apartir de las cuales si se pueden crear instrancias u objetos se


denominan
clases concretas. Uno de los objetivos de POO es conocer las caracteristicas que
son comunes
y agruparlas en abstracciones generales.

Una interfase en java es un dispositivo que permite interactuar a objetos no


relacionados
entre si. Una interfase en programacion es un objeto que define un conjunto de
mensajes que
se pueden aplicar a muchas clases de objetos a los que cadauna de ellas deve
responder de
forma adecuada.

Una interfase consta de dos partes: El nombre de la interfas presedido por la


palabra
reservada interfase y ademas el cuerpo de la interfas que va encerrado entre llaves

El modificador public es opsional, si no se espesifica, la interfaz solo sera


accecible
para las clases definidas en el mismo paquete.

El cuerpo de la interfaz puede incluir declaraciones de constantes y


declaraciones de
metodos abstractos.

La palabra reservada extends es opcional, una interfaz puede ser derivada de


otras y a
diferencia de una clase puede ser heredada de mas de una interfaz.

Las interfases igual que las clases abstractas y los metodos abstractos
proporcionan
plantillas de comportamiento que se espera sean implementadas por otras clases.

Las interfases tienen la propiedad de poder obtener un efecto similar al de la


herencia
multiple. No se pueden crear instancias de una interfaz.

Una interfaz se considera como una clase abstracta total y se deve tener en
cuenta:

a).- Todos los elementos o miembros son publicos por defecto (no se requiere
declara explisita
mente con public)
b).- Todos los metodos son obstractos tambien por defecto
c).- Todos los atributos son de tipo static y final

Ejem.

import java.util.*;
public interface Infecha{

public final static int DIA_DEL_MES=Calendar.DAY_OF_MONTH;


public final static int MES_DEL_A�O=Calendar.MONTH;
public final static int A�O=Calendar.YEAR;
public abstract int dia();
public abstract int mes();
public abstract int a�o();
}

Implementacion de la Definicion de una Interface

Para utilizar una interfaz hay que agregar el nombre de esta presedido por la
palabra
reservada implements a la definicion de la clase que la utiliza. La palabra
implements es
posterior a la palabra extens si esta existe.

Ejem

import java.util.*;

public class CCuentaAhorro extends CCuenta implements Infecha{


private float saldo;
public CCuentaAhorro(float s){
super("AHORRO", "1001");
saldo=s;
}
public String VerN(){
return Nombre;
}
public float VerS(){
return saldo;
}
public int dia(){
GregorianCalendar fechaActual=new GregorianCalendar();
return fechaActual.get(DIA_DEL_MES);
}
public int mes(){
GregorianCalendar fechaActual=new GregorianCalendar();
return fechaActual.get(MES_DEL_A�O);
}
public int a�o(){
GregorianCalendar fechaActual=new GregorianCalendar();
return fechaActual.get(A�O);
}
public void comisiones(){
}
}

Una interfaz solo aporta las declaraciones de metodos abstractos, es obligacion


definir la
implementacion de los metodos en cada una de las clases que utilicen la interfaz.

En el ejercicio de gerarquia de clases ccuenta y cuentahaorro se utiliza la


interfaz int
fecha para que dos clases interactuen entre si.

S-ar putea să vă placă și