Академический Документы
Профессиональный Документы
Культура Документы
Codificar clases para las abstracciones Vehculo (con los siguientes atributos:
String nombrey float velocidad), Coche (int ruedas), Barco (int velas), Avion
(int alas), estas tres ltimas son especializaciones de la clase Vehculo. Dotar
deconstructores y mtodos de acceso a las clases. Por ltimo escribir un mtodoque
devuelva todos los datos de una clase concatenados en una cadena. Crearuna interfaz
Controlable que permita a travs de un mtodo void controlar()hacer funciones
especificas de cada una de las subclases (p.e: conducir,navegar, volar).
Nota: Sobrescribir (Override) los mtodostoString() y equals(Object o) de la clase
java.lang.Object.
Haz la armadura inicial de las clases y refnalas despuscon los mtodos
de pedir datos y mostrar datos cuandohaga el ejercicio siguiente as es
ms impactante el polimorfismo.
Qu es un interface?
Un interface es una coleccin de declaraciones de mtodos (sin definirlos) y
tambin puede incluir constantes.
Runnable es un ejemplo de interface en el cual se declara, pero no se
implemementa, una funcin miembro run.
public interface Runnable {
public abstract void run();
}
Una clase solamente puede derivar extends de una clase base, pero puede
implementar varios interfaces. Los nombres de los interfaces se colocan
separados por una coma despus de la palabra reservada implements.
El lenguaje Java no fuerza por tanto, una relacin jerrquica, simplemente
permite que clases no relacionadas puedan tener algunas caractersticas de su
comportamiento similares.
En el lenguaje Java solamente existe la herencia simple, pero las clases pueden
implementar interfaces. Vamos a ver en este apartado que la importancia de los
interfaces no estriba en resolver los problemas inherentes a la herencia mltiple
sin forzar relaciones jerrquicas, sino es el de incrementar el polimorfismo del
lenguaje ms all del que proporciona la herencia simple.
Para explicar este aspecto importante y novedoso del lenguaje Java adaptaremos
los ejemplos que aparecen en el artculo del Bill Venners "Designing with
interfaces" publicado en Java World (www.javaWorld.com) en Diciembre de
1998. Comparemos la herencia simple mediante un ejemplo similar al de la
jerarqua de las figuras planas, con los interfaces.
Herencia simple
polimorfismo: Animal.java, PoliApp.java
Creamos una clase abstracta denominada Animal de la cual deriva las
clases Gato y Perro. Ambas clases redefinen la funcin habla declarada abstracta
en la clase base Animal.
public abstract class Animal {
public abstract void habla();
}
class Perro extends Animal{
public void habla(){
System.out.println("Guau!");
}
}
class Gato extends Animal{
public void habla(){
System.out.println("Miau!");
Interfaces
polimorfismo1: Parlanchin.java, Animal.java, Reloj.java, PoliApp.java
Vamos a crear un interface denominado Parlanchin que contenga la declaracin
de una funcin denominada habla.
public interface Parlanchin {
public abstract void habla();
}