Podemos ver que construimos un objeto (p) de tipo persona y se lo pasamos a la función hacerCantar. Esta función espera recibir un objeto Cantante, y una persona lo es, por tanto la recibe y llama al método cantar del objeto recibido.
Probemos a intentar pasar a la función hacerCantar en lugar del objeto Persona (p) un objeto String (texto), resultado: error de compilación.
Contruyamos ahora la clase Canario (Canario.java), pensando que también sabe cantar:
public class Canario implements Cantante
{
private int peso;
/* Aqui vendrían el resto de atributos y funciones propias de un canario */
public void cantar()
{
System.out.println("Pio Pio Pio");
}
}
Y ahora agreguemos en la clase ArranqueInterfaz el siguiente código, para crear un objeto canario y pasarselo a la función hacerCantar:
Canario c = new Canario();
hacerCantar(c);
Tras ejecutar comprobaremos que podemos pasar tanto una Persona como un Canario a la función hacerCantar, de tal manera que dentro de dicha función sólo accedamos a las funciones del interfaz y no habrá problemas. Por ejemplo, si pusiéramos:
c.SetNombre("Luis")
dentro de la función hacerPersona, podría funcionar si pasásemos un objeto Persona, pero no si pasamos uno de tipo Canario.
Hay 358 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Metodología de la Programación Este curso gratis le proporcionará, a modo de iniciación, algunos de los pasos a seguir para aprender a programar.Los bucles o los operadores lógicos son algunos de los c... [23/05/03] |
|
46.453 | ||
|
Programación de juegos para móviles con J2ME Hoy en día se pueden realizar infinidad de cosas con el móvil. Desde la tradicional llamada telefónica hasta conectarse a Internet. Sin embargo, una de las más divertidas... [07/09/04] |
|
11.943 | ||
|
Algoritmos y lenguaje C Este curso pretende dar a conocer las explicaciones más simples del trabajo de los ordenadores.Puedes descubrir cada paso que realizan, cómo lo realizan, qué es l... [13/01/06] |
|
10.230 | ||
Publicar en
del.icio.us
digg
meneame