Your SlideShare is downloading. ×
0
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Alejandro Merizalde
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Alejandro Merizalde

177

Published on

Ingeniero, Aquí esta la presentación acerca de clases abstractas e interfaces. …

Ingeniero, Aquí esta la presentación acerca de clases abstractas e interfaces.

Saludos.

Alejandro Merizalde

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
177
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Escuela Politécnica del Ejército CLASES ABSTRACTAS E INTERFACES Ing. Paulo GuerraAlejandro Merizalde 19-12-2012
  • 2. CLASE ABSTRACTAUna clase abstracta es aquella que declara la existencia de métodos pero no la implementaciónde estos; es decir, los métodos simplemente son declarados.Una clase abstracta puede contener métodos no abstractos pero al menos uno de estos debe serabstracto.Para declarar una clase o método como abstractos, se utiliza la palabra reservada abstract, de lasiguiente manera:Una clase abstracta no se puede instanciar (es decir no se pueden volver en objetos) pero si sepuede heredar y las clases hijas serán las encargadas de agregar la funcionalidad a los métodosabstractos.
  • 3. Ejemplo:En el siguiente ejemplo tomaremos dos figuras geométricas, el Rectángulo y elTriangulo rectángulo, para el ejemplo sólo consideraremos dos característicassimilares: el ancho y el alto, por lo que podemos crear una clase padre Figurageométrica con estas dos características y sus métodos correspondientes, además delmétodos getArea() que devolverá el área de la Figura. Pero, se presenta un problema,el cálculo del área del Rectángulo es diferente al cálculo del área del Triangulo. Area del Rectangulo = ancho X alto Area del Triangulo = (ancho X alto)/2Por lo tanto, el método getArea() deberá ser abstracto, por lo cual, la clase Figuratambién deberá serabstracta.
  • 4. Esta será nuestra clase padre Abstracta, en donde tomaremos los datos ancho y alto:Y Aquí tenemos las clases hijas; una para obtener el área del rectángulo y otra para elárea del triángulo:
  • 5. Y finalmente en el main, llamamos a las clases y obtenemos los resultados delas dos áreas:
  • 6. INTERFACEUna interface es una variante de una clase abstracta con la condición de que todos sus métodosdeben ser abstractos. Si la interface va a tener atributos, éstos deben llevar las palabrasreservadas static final y con un valor inicial ya que funcionan como constantes por lo que, porconvención, su nombre va en mayúsculas. interface Nomina { public static final String EMPRESA = "Patito, S. A."; public void detalleDeEmpleado(Nomina obj); }Una clase implementa una o más interfaces con la palabra reservada implements. class Empleado implements Nomina { ... }Esto sirve para simular una herencia múltiple que java no soporta.
  • 7. Ejemplo:En el siguiente ejemplo, tomaremos de ejemplo a los animales. Se sabe que todos los animalesemiten un sonido , por ejemplo el perro ladra, el gato maúlla, etc.Entonces se puede crear una interfaz Animal con el método hablar( ).Ahora crearemos una clase Perro y una Gato que implemente la interfaz Animal, en dondeobligatoriamente tendremos que implementar el método hablar().
  • 8. Finalmente en el main, llamamos a las clases y utilizamos los métodoscreados.

×