Clases Abstractas e InterfacesClases AbstractasUna clases Abstracta…..              es una clase que no se puede instancia...
„ Las subclases de una clase abstracta deben:Š Sobrescribir todos los métodos abstractos dela superclase, o bienŠ Ser dec...
Ejemplo:public abstract class Forma {  private int xpos, ypos;  private Color color;  // ...                              ...
Interfaces En java, las interfaces se declaran con la palabra reservada  interface de manera similar como se declaran las...
 Sólo declaran comportamiento„ Por defecto todos sus métodos sonpúblicos y abstractosPermite simular algunos aspectos d...
Declaración de interfacesSintaxisImplementación del interfaz en una clase„ Una clase puede implementar varios interfacesin...
Ejemplo de Interfazpublic interface Nombrable {static final boolean CIERTO = true;public void mostrarNombre();}public clas...
Clases abstractas e interfaces
Upcoming SlideShare
Loading in …5
×

Clases abstractas e interfaces

1,100 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,100
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Clases abstractas e interfaces

  1. 1. Clases Abstractas e InterfacesClases AbstractasUna clases Abstracta….. es una clase que no se puede instanciar se usa únicamente para definir sub clases ¿Cuándo es una clase Abstracta ?En cuanto uno de sus métodos no tiene implementación (En Javael método abstracto se etiqueta con la palabra reservada abstract ) ¿Cuándo se utiliza clases abstractas?Cuando se desea definir una abstracción que englobe objetos deDistintos tipos y queremos hacer uso del polimorfismo
  2. 2. „ Las subclases de una clase abstracta deben:Š Sobrescribir todos los métodos abstractos dela superclase, o bienŠ Ser declaradas como clases abstractas„ Una clase abstracta no puede instanciarseŠ No se pueden crear objetos de una claseAbstracta„ Una clase abstracta puede incluir variables ymétodos no abstractos.„ No se pueden definir constructores abstractos ométodos estáticos abstractos.
  3. 3. Ejemplo:public abstract class Forma { private int xpos, ypos; private Color color; // ... los métodos public abstract void dibuja(); abstractos no public void setColor(Color c){ /*...*/ }; tienen cuerpo}public class Circle extends Forma{ private int radio; // ... public void dibuja(){ /*...*/ }; public void setRadio(int){/*...*/};}dibuja uncírculopublic class Rectangle extends Forma{ private int altura, anchura; // ... public void dibuja(){ /*...*/ }; public void setAltura(int){/*...*/};}
  4. 4. Interfaces En java, las interfaces se declaran con la palabra reservada interface de manera similar como se declaran las clases abstractas. En la declaración de una interfaz, lo único que puede aparecer sondeclaraciones de los métodos (su nombre y asignatura, sin su implementación) Una Interfaz no encapsula datos, solo define cuales son los métodosque han de implementar los objetos de aquellas clases queImplementen la interfaz. En java, para indicar que una clase implementa una interfaz seutiliza la palabra reservada implements. La clase debe entonces implementar todos los métodos definidospor la interfaz o declararse, a su vez, como una clase abstracta
  5. 5.  Sólo declaran comportamiento„ Por defecto todos sus métodos sonpúblicos y abstractosPermite simular algunos aspectos de laherencia múltiple„ Define un tipo de datos„ Posibilita el enlace dinámico Otras clases pueden implementar un interfaz„ Cualquier clase que implemente un interfaz debedefinir todos los métodos de dicho interfazŠDebe proporcionar la implementación de dichos métodos„ Si la clase no proporciona la implementación paratodos los métodos del interfaz debe ser declaradacomo abstracta
  6. 6. Declaración de interfacesSintaxisImplementación del interfaz en una clase„ Una clase puede implementar varios interfacesinterface NombreInterfaz {tipo static final NOMBRECONSTANTE1 = valor;public tipoDevuelto nombreMetodo1(listaParámetros);}interface NombreInterfaz {tipo static final NOMBRECONSTANTE1 = valor;public tipoDevuelto nombreMetodo1(listaParámetros);}class NombreClase implements NombreInterfaz1[, NombreInterfaz2 ..] {// declaración atributos y métodos de la clase}class NombreClase implements NombreInterfaz1[, NombreInterfaz2 ..] {// declaración atributos y métodos de la clase}
  7. 7. Ejemplo de Interfazpublic interface Nombrable {static final boolean CIERTO = true;public void mostrarNombre();}public class Elemento implements Nombrable {String nombre;public Elemento(String nom) {nombre = nom; }// obligatorio implementar método mostrarNombrepublic void mostrarNombre(){System.out.println("Nombre: "+nombre);if (CIERTO)System.out.println("Constante CIERTO ");}}

×