Ingeniera

Páginas: 7 (1631 palabras) Publicado: 13 de noviembre de 2012
Clases abstractas e interfaces

clases abstractas e Interfaces

1

Clases abstractas
Clases cuya descripción es incompleta. Una clase abstracta declara métodos, pero no tiene que implementarlos.
No proporcionan la implementación de todos sus métodos Los métodos no implementados se declaran como abstract Una clase con un método abstracto debe declararse como clase abstracta Pero una clasepuede declararse como abstracta aunque no tenga ningún método abstracto

clases abstractas e Interfaces

2

Clases abstractas
Forma xpos ypos color ... dibuja setColor ...
{abstract}

Otras
Circulo radio ... setRadio ... Rectangulo altura anchura ... setAltura ...

clases abstractas e Interfaces

3

Clases abstractas
public abstract class Forma { private int xpos, ypos; privateColor color; // ... public abstract void dibuja(); public void setColor(Color c){ /*...*/ }; } public class Circle extends Forma{ private int radio; // ... public void dibuja(){ /*...*/ }; public void setRadio(int){/*...*/}; } public class Rectangle extends Forma{ private int altura, anchura; // ... public void dibuja(){ /*...*/ }; public void setAltura(int){/*...*/}; }
clases abstractas eInterfaces

los métodos abstactos no tienen cuerpo dibuja un círculo

dibuja un rectángulo

4

Clases abstractas
Las subclases de una clase abstracta deben: Sobreescribir todos los métodos abstractos de la superclase, o bien Ser declaradas como clases abstractas Una clase abstracta no puede instanciarse No se pueden crear objetos de una clase abstracta Una clase abstracta puede incluirvariables y métodos no abstractos. No se pueden definir constructores abstractos o métodos estáticos abstractos.

clases abstractas e Interfaces

5

Ejemplo clase abstracta
public abstract class Figura { Figura int x, y; public void mostrarOrigen() { System.out.println("x= "+x+" y= "+y);} public abstract double area(); // No tiene implementación Triangulo public abstract double mostrarNombre(); }Cuadrado public class Triangulo extends Figura { protected int base, altura; public Triangulo (int ba, int al) { base=ba; altura=al; } public double area() { return base*altura/2; } public void mostrarNombre() { System.out.println(“triangulo”); } } public class Cuadrado extends Figura { protected int lado; public Cuadrado (int lado) { this.lado=lado; } public double area() { return lado*lado; }public void mostrarNombre() { System.out.println(“cuadrado”);}}
clases abstractas e Interfaces 6

Prueba clase abstracta
public class PruebaClaseAbstracta { public class PruebaClaseAbstracta { public static void main(String args[]) { public static void main(String args[]) { Figura fig; Figura fig; Triangulo tri; Triangulo tri; Cuadrado cua; Cuadrado cua; fig = new Figura(); // error no se puedefig = new Figura(); // error no se puede //instanciar una clase abstracta //instanciar una clase abstracta tri = new Triangulo(4,3); = new Triangulo(4,3); tri tri.mostrarOrigen(); tri.mostrarOrigen(); tri.mostrarNombre(); tri.mostrarNombre(); fig = tri; fig = tri; fig.mostrarNombre(); fig.mostrarNombre(); System.out.println("Area triangulo: "+fig.area()); System.out.println("Area triangulo:"+fig.area()); cua = new Cuadrado(5); cua = new Cuadrado(5); fig = cua; fig = cua; System.out.println("Area cuadrado: "+fig.area()); System.out.println("Area cuadrado: "+fig.area()); } } } }
clases abstractas e Interfaces 7

Ejercicio 1
Declarar como abstracta la clase Figura del tema anterior Declarar como abstracta la clase Figura del tema anterior

clases abstractas e Interfaces

8 Ejercicio 1
Todas las Figuras deben tener método dameArea()

clases abstractas e Interfaces

9

Interfaces
Sólo declaran comportamiento
Se utiliza la palabra clave interface Por defecto todos sus métodos son públicos y abstractos
No implementan el comportamiento

Por defecto todos sus atributos son públicos, constantes y de clase
Por legibilidad normalmente los declaramos static y final...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniera
  • Ingeniera
  • Ingeniera
  • Ingeniera
  • Ingeniera
  • ingeniera
  • ingeniera
  • Ingeniera

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS