0% encontró este documento útil (0 votos)
67 vistas19 páginas

Clases Abstractas e Interfaces

El documento habla sobre clases abstractas e interfaces en Java. Explica que las clases abstractas son clases base de las que no se pueden crear objetos y pueden contener métodos abstractos cuya implementación debe proveerse en las subclases. También define qué son las interfaces, indicando que son listas de acciones que pueden llevar a cabo los objetos y que definen prototipos de métodos pero no su código, el cual debe proveerse en las clases que implementen dicha interfaz. Provee ejemplos de clases abstractas, interfaces y clases que las implementan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
67 vistas19 páginas

Clases Abstractas e Interfaces

El documento habla sobre clases abstractas e interfaces en Java. Explica que las clases abstractas son clases base de las que no se pueden crear objetos y pueden contener métodos abstractos cuya implementación debe proveerse en las subclases. También define qué son las interfaces, indicando que son listas de acciones que pueden llevar a cabo los objetos y que definen prototipos de métodos pero no su código, el cual debe proveerse en las clases que implementen dicha interfaz. Provee ejemplos de clases abstractas, interfaces y clases que las implementan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Clases Abstractas e

Interfaces
Magister Víctor Andrade Soto
Clases abstractas
En Java se dice que son clases abstractas aquellas clases base
(superclases) de las que no se permite la creación de objetos. Para ello,
se utiliza la palabra clave abstract.
Métodos abstractos
En una clase abstracta es posible definir métodos abstractos, los cuales
se caracterizan por el hecho de que no pueden ser implementados en
la clase base. De ellos, solo se escribe su signatura en la superclase, y
su funcionalidad –polimórfica– tiene que indicarse en las clases
derivadas (subclases).
Ejemplo: La clase abstracta
Clase Círculo
Clase Cuadrado
Clase Triangulo
Clase Principal
Ejercicio:
Escriba un método calcularArea en la clase Padre Abstracta;
Recuerde que se implementa en las subclases.
Interfaces
Un interfaz es una lista de acciones que puede llevar a cabo un determinado
objeto. Pregunta, ¿eso no eran los métodos que se definen en una clase?
Casi, en una clase además de aparecer los métodos aparecía el código para
dichos métodos, en cambio en un interfaz sólo existe el prototipo de una
función, no su código.

Veámoslo con un ejemplo: Pensemos en un interfaz que en su lista de


métodos aparezcan los métodos despegar, aterrizar, servirComida y volar.
Todos pensamos en un avión, ¿verdad? El motivo es sencillamente que avión
es el concepto que engloba las acciones que hemos detallado antes, a pesar
que existan muchos objetos avión diferentes entre sí, por ejemplo Boeing
747, Boeing 737, MacDonell-Douglas.
Lo realmente interesante es que todos ellos, a pesar de pertenecer a
clases distintas, poseen el interfaz avión, es decir poseen los métodos
detallados en la lista del interfaz avión.
Esto significa también que a cualquier avión le podemos pedir que
vuele, sin importarnos a que clase real pertenezca el avión,
evidentemente cada clase especificará como volará el avión (porque
proporciona el código de la función volar).
En java un interfaz define la lista de métodos, pero para que una clase
posea un interfaz hay que indicar explícitamente que lo implementa
mediante la claúsula implements.
[modif.visibilidad] interface nombreInterfaz [extends listaInterfaces]
{
prototipo método1;

..
prototipo método2;
}
Donde modif.visibilidad puede ser public o bien sin especificar, es decir
visibilidad pública (desde cualquier clase se puede emplear el interfaz) o de
paquete (sólo se puede emplear desde clases del mismo paquete).
nombreInterfaz por convenio sigue las mismas reglas de nomenclatura que
las clases, y en muchos casos acaba en able (que podíamos traducir como:
ser capaz de).
La claúsula opcional extends se emplea para conseguir que un interfaz
hereda las funciones de otro/s interfaces, simplemente listaInterfaces es una
lista separada por coma de interfaces de los que se desea heredar.
En muchas ocasiones un interfaz es empleado para definir un
comportamiento, que posteriormente será implementado por diversas
clases, que podrían no tener nada que ver entre ellas, pero que todas se
comportarán igual de cara al interfaz. Es decir, todas tendrán las funciones
indicadas por el interfaz.
Cuando varios objetos de distintas clases pueden responder al mismo
mensaje (función), aún realizando cosas distintas se denomina polimorfismo.
Interface Cantante
Clase Persona
Clase Pajarito
Clase Principal
Ejercicio
Añada las clases Grillo y sirena.
Desarrolle una interface visual con un ListBox que muestre el nombre
de las 4 clases y cuando haga click en 1 de ellas implemente el canto de
la misma (invente el sonido del grillo y la sirena) en un TextBox
Tarea
• Suba los dos ejercicios realizados en la clase como tarea de la semana
en un archivo rar.

También podría gustarte