Está en la página 1de 11

CLASES ABSTRACTAS E INTERFACES

Dra. Ma. Del Carmen Mezura Godoy

Agenda
Visibilidad de los miembros de una clase !! Clases asbtractas !! Interfaces
!!

Modo de acceso

Definicin
!!

Clase abstracta
!! Es

una clase que no se puede instanciar !! Se usa nicamente para definir subclases !! En Java se identifica cuando alguno de sus mtodos no tiene implementacin (se etiqueta con la palabra reservada abstract). !! Se utilizan cuando se desea definir una abstraccin que englobe objetos de distintos tipos y queremos hacer uso del polimorfismo.

Ejemplo clase abstracta


!!

!!

Figura es una clase abstracta (nombre en cursiva en UML) porque no tiene sentido calcular su rea pero s la de un cuadrado o un crculo. Si una subclase de Figura no redefine area(), deber declararse tambin como clase abstracta.

Clases en java

Clases en java

Interfaces
!!

!!

Una interfaz es una clase completamente abstracta (una clase sin implementacin) En el ejemplo anterior, si no estuvisemos interesados en conocer la posicin de una Figura, podramos eliminar por completo su implementacin y convertir Figura en una interfaz

Interfaces en java
En Java, las interfaces se declaran con la palabra reservada interface de manera similar a como se declaran las clases abstractas. !! En la declaracin de una interfaz, lo nico que puede aparecer son declaraciones de mtodos (su nombre y signatura, sin su implementacin) y definiciones de constantes simblicas. !! Una interfaz no encapsula datos, slo define cules son los mtodos que han de implementar los objetos de aquellas clases que implementen la interfaz.
!!

Interfaces en java

Actividad
!!

Modificar el ejercicio de Figuras haciendo lo siguiente:


!! Modificar

la clase Figura de concreta a abstracta !! Modificar el programa principal para crear objetos ahora de tipo Tringulo, Circulo, etc. e incluirlas en el arreglo de Figuras !! Observe que pase y comente

También podría gustarte