clases abstractas e interfaces

21
Clases abstractas e interfaces David Torres Colli Raul Kuk Mayo Omar Perez Saldivar Alberto Canul Irigoyen Carlos Ku Maldonado Victor Pat Andrade

Upload: maariia-segovia

Post on 01-Feb-2016

216 views

Category:

Documents


0 download

DESCRIPTION

.ljj

TRANSCRIPT

Clases abstractas e interfaces

Clases abstractas e interfacesDavid Torres ColliRaul Kuk MayoOmar Perez SaldivarAlberto Canul IrigoyenCarlos Ku MaldonadoVictor Pat AndradeClase abstractauna clase abstracta es una clase de la cual no se pueden definir o construir instancias u objetos.Las clases abstractas tienen dos utilidades principales.utilidadesEvitan que los usuarios de la clase puedan crear objetos de la misma. Permiten crear interfaces que luego deben ser implementados por las clases que hereden de la clase abstracta.En las clases abstractas no se sigue que una clase abstracta deba contener un mtodo abstracto, aunque generalmente ser as.Mtodo abstractoUn mtodo abstracto es un mtodos de una clase que no tiene implementacin o definicin, es decir solo tiene declaracin.Sus principales usos, en primer lugar, como un parmetro indefinido en expresiones que contienen objetos de dicha clase, que deben ser redefinido en alguna de las subclases que heredan de dicha clase.En segundo lugar, sirve para definir interfaces abstractas de clases que debern ser definidas por las subclases de las mismas.Podemos decirSi bien que un mtodo est declarado como abstracto implica que la clase en la que se encuentra debe ser declarada como abstracta.Que una clase sea abstracta no implica que alguno de los mtodos que contiene haya de serlo.Constructores de la clase abstractaSirven Para inicializar los atributos que pueda contener la clase abstracta.El constructor de una clase abstracta ser de utilidad para que los invoquen todos los constructores de las clases derivadas.VentajasPermiten al programador decidir que clases van a poder ser instnciales y cuales no.Los mtodos abstractos nos permiten declarar mtodos sin tener que definirlos y de este modo enriquecer la parte visible de una clase, dotndola de mas mtodos que no es necesario definir hasta mas adelante.Pueden ser tambin utilizados para definir los mtodos restantes de la clase abstracta, permitindonos as reutilizar cdigo para diversas clases.Ejemplo

InterfacesQu es una interfaz? En su forma ms comn, una interfaz es un grupo de mtodos relacionados con cuerpos vacos. Los objetos definen su interaccin con el mundo exterior a travs de los mtodos que se exponen. Mtodos forman la interfaz del objeto con el mundo exterior; los botones de la parte frontal de su aparato de televisin, por ejemplo, son la interfaz entre el usuario y el cableado elctrico en el otro lado de la carcasa de plstico. (Se presiona el botn "Power" para encender el televisor encendido y apagado. )

En su forma ms comn, una interfaz es un grupo de mtodos relacionados con cuerpos vacos. El comportamiento de una bicicleta, si se especifica como una interfaz, podra aparecer como sigue:

interfaz de bicicletas {

// Revoluciones de la rueda por minuto void changeCadence (int newValor);

void ChangeGear (int newValor);

void SpeedUp (int increment);

applyBrakes void (int decrement); }Una clase que implemente el cdigo de la interfaz debe implementar todos sus mtodos, aunque no lleven cdigoPara implementar esta interfaz, el nombre de su clase va a cambiar (a una marca en particular de la bicicleta, por ejemplo, como APACHE), y que tendra que utilizar la palabra clave implements en la declaracin de clase:Class APACHE implements bicicletas{ int cadena = 0int velocidad = 0int engranes = 1void changecadena (int new Value){cadena = newValue;}void changevelocidad (int new Value){asiento = newValue;}void acelerar (int incremet){speed = velocidad + incremento;}void frenar (int idecrement){speed = velocidad - decremento;}void printStates() { System.out.println("cadena" + cadena + " velocidad:" + velocidad + " engrane:" + engrane); }}

La implementacin de una interfaz permite una clase para ser ms formal sobre el comportamiento que se compromete a proporcionar

Las interfaces sirven para: Declarar mtodos que sern implementados por una o ms clases. Definir la interfaz de programacin de un objeto, sin mostrar el cuerpo actual de la clase

Biblioteca de ClasesQue son?Una biblioteca de clases es un conjunto de clases de programacin orientada a objetos. Esas clases contienen mtodos que son tiles para los programadores. En el caso de Java cuando descargamos el JDK obtenemos la librera de clases API.Para que sirvenEstas nos sirven para tener un conjunto de clases que nos sirven para realizar funciones especficas, creadas por el programador y que podremos importar hacia otras aplicaciones Java e implementar dicha funcionalidad.VentajasUtilizar las clases y mtodos de las APIs de Java reduce el tiempo de desarrollo de los programas. Tambin, existen diversas bibliotecas de clases desarrollados por terceros que contienen componentes reutilizables de software, y estn disponibles a travs de la Web.