Alejandro Merizalde
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Alejandro Merizalde

on

  • 260 views

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

Statistics

Views

Total Views
260
Views on SlideShare
260
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Alejandro Merizalde Presentation 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.