SlideShare una empresa de Scribd logo
ESCUELA POLITÉCNICA
    DEL EJÉRCITO
   JUAN CARLOS ALMEIDA MERA

   TEMA: CLASES ABSTRACTAS E
      INTERFACES EN JAVA

       PROGRAMACIÓN I
CLASES ABSTRACTAS
• Una clase que declara la existencia de métodos
  pero no la implementación de dichos métodos, se
  considera una clase abstracta.
• Una clase abstracta puede contener métodos no
  abstractos pero al menos uno de los métodos
  debe ser abstracto.
• Para declarar una clase o método como
  abstractos, se utiliza la palabra reservada
  abstract.
Una clase abstracta no se puede instanciar
(es decir no se pueden volver en objetos)
pero si se puede heredar y las clases hijas
    serán las encargadas de agregar la
 funcionalidad a los métodos abstractos.
VENTAJAS DE SU USO
En primer lugar, evitan que los usuarios de la clase
puedan crear objetos de la misma, como dice la
definición de clase abstracta.
En segundo lugar, permiten crear interfaces que
luego deben ser implementados por las clases que
hereden de la clase abstracta. Es evidente que una
clase abstracta, al no poder ser instanciada, no
tiene sentido hasta que una serie de clases que
heredan de ella la implementan completamente y
le dan un significado a todos sus métodos.
Ejemplo:
Como ejemplo tomaremos dos figuras geométricas,
el Rectángulo y el Triángulo rectángulo, para el
ejemplo sólo consideraremos dos características
similares: el ancho y el alto, por lo que podemos
crear una super clase Figura geométrica con estas
dos características y sus métodos correspondientes,
además del mé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.
Área del Rectangulo = ancho X alto
        Área del Triangulo = (ancho X alto)/2
Por lo tanto, el método getArea() deberá ser
abstracto, por lo cual, la clase Figura también
deberá ser abstracta.
Clases abstractas e interfaces en java
Tipo de dato Protected

    Este tipo de datos es privado para todas
  aquellas clases que no son derivadas, pero
público para una clase derivada de la clase en la
 que se ha definido la variable como protected.
INTERFACES

Una interface es una variante de una clase abstracta
con la condición de que todos sus métodos deben
ser abstractos. Si la interface va a tener atributos,
éstos deben llevar las palabras reservadas static
final y con un valor inicial ya que funcionan como
constantes por lo que, por convención, su nombre
va en mayúsculas.
Una clase implementa una o más interfaces
(separadas por comas) con la palabra reservada
implements con el uso de interfaces se puede
“simular” la herencia múltiple que Java no soporta
Ejemplo:
En el siguiente ejemplo, tomaremos de ejemplo a
los animales, se sabe que todos los animales hablan
(literalmente), 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 que implemente
la interfaz Animal, por lo que obligatoriamente
tendremos que implementar el método hablar().




Ahora crearemos una clase Gato que implemente la
interfaz Animal, por lo que obligatoriamente
tendremos que implementar el método hablar().
Clases abstractas e interfaces en java

Más contenido relacionado

PPTX
09 Clases Abstractas E Interfaces
PPTX
Clases abstractas e interfaces
PPT
Polimorfismo en Java
PDF
03 java poo_parte_2
PPTX
Ejb and jsp
PPT
Java interfaces & abstract classes
PDF
Tema 3 1
PDF
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
09 Clases Abstractas E Interfaces
Clases abstractas e interfaces
Polimorfismo en Java
03 java poo_parte_2
Ejb and jsp
Java interfaces & abstract classes
Tema 3 1
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)

La actualidad más candente (20)

PPTX
Polimorfismo en Java
PPT
Effective Spring Transaction Management
PPSX
Polimorfismo y Clases Abstractas
PDF
Pruebas unitarias
PPTX
Polimorfismo ppt
PPTX
Modelado de analisis para aplicaciones web
PPTX
Algebra relacional
PPTX
Desarrollo iterativo e incremental
PPTX
Herencia y Polimorfismo
PDF
2. criptografiìa con java
PPTX
Java 8 - Features Overview
PPTX
Tablas Hash
PPT
Facade pattern
PDF
PPT
Packages and interfaces
PPTX
Clases abstractas e interfaces (AlexandraPerez)
PDF
Traductores de lenguajes de programación
PDF
Ejercicio 2
PPTX
Abstract Class & Abstract Method in Core Java
Polimorfismo en Java
Effective Spring Transaction Management
Polimorfismo y Clases Abstractas
Pruebas unitarias
Polimorfismo ppt
Modelado de analisis para aplicaciones web
Algebra relacional
Desarrollo iterativo e incremental
Herencia y Polimorfismo
2. criptografiìa con java
Java 8 - Features Overview
Tablas Hash
Facade pattern
Packages and interfaces
Clases abstractas e interfaces (AlexandraPerez)
Traductores de lenguajes de programación
Ejercicio 2
Abstract Class & Abstract Method in Core Java
Publicidad

Destacado (9)

PDF
¿Qué es una interface en java?
PPT
Poo Java
PDF
POO - 17 - Interfaces
PPTX
Java interfaces
PPTX
Interfaces en Java
PPTX
Java Generics
PPTX
Interfaces en Java
PDF
Interfaces en java
PDF
Generics
¿Qué es una interface en java?
Poo Java
POO - 17 - Interfaces
Java interfaces
Interfaces en Java
Java Generics
Interfaces en Java
Interfaces en java
Generics
Publicidad

Similar a Clases abstractas e interfaces en java (20)

PPTX
Clases abs e interfaces
PPTX
Alejandro Merizalde
PPT
Clases abstractas interfaces
PPTX
Clases abstractas e interfaces
PPTX
Benalcazar esteban
PPTX
Clases abstractas e interfaces en java
PPTX
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
PPT
PPTX
Clases abstractas
PPSX
Clases Abstractas Pc
PDF
PDF
Tarea 3
PPTX
Clases abstractas e interfaz
PPTX
Programación 3: clases derivadas y polimorfismo
PDF
Abstracción
PPT
JAVA- basico
DOCX
4 unidad polimorfismo
DOCX
Interfaces en java
PDF
Tema4 herencia
PDF
Interfaces 14k
Clases abs e interfaces
Alejandro Merizalde
Clases abstractas interfaces
Clases abstractas e interfaces
Benalcazar esteban
Clases abstractas e interfaces en java
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clases abstractas
Clases Abstractas Pc
Tarea 3
Clases abstractas e interfaz
Programación 3: clases derivadas y polimorfismo
Abstracción
JAVA- basico
4 unidad polimorfismo
Interfaces en java
Tema4 herencia
Interfaces 14k

Clases abstractas e interfaces en java

  • 1. ESCUELA POLITÉCNICA DEL EJÉRCITO JUAN CARLOS ALMEIDA MERA TEMA: CLASES ABSTRACTAS E INTERFACES EN JAVA PROGRAMACIÓN I
  • 2. CLASES ABSTRACTAS • Una clase que declara la existencia de métodos pero no la implementación de dichos métodos, se considera una clase abstracta. • Una clase abstracta puede contener métodos no abstractos pero al menos uno de los métodos debe ser abstracto. • Para declarar una clase o método como abstractos, se utiliza la palabra reservada abstract.
  • 3. Una clase abstracta no se puede instanciar (es decir no se pueden volver en objetos) pero si se puede heredar y las clases hijas serán las encargadas de agregar la funcionalidad a los métodos abstractos.
  • 4. VENTAJAS DE SU USO En primer lugar, evitan que los usuarios de la clase puedan crear objetos de la misma, como dice la definición de clase abstracta. En segundo lugar, permiten crear interfaces que luego deben ser implementados por las clases que hereden de la clase abstracta. Es evidente que una clase abstracta, al no poder ser instanciada, no tiene sentido hasta que una serie de clases que heredan de ella la implementan completamente y le dan un significado a todos sus métodos.
  • 5. Ejemplo: Como ejemplo tomaremos dos figuras geométricas, el Rectángulo y el Triángulo rectángulo, para el ejemplo sólo consideraremos dos características similares: el ancho y el alto, por lo que podemos crear una super clase Figura geométrica con estas dos características y sus métodos correspondientes, además del mé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.
  • 6. Área del Rectangulo = ancho X alto Área del Triangulo = (ancho X alto)/2 Por lo tanto, el método getArea() deberá ser abstracto, por lo cual, la clase Figura también deberá ser abstracta.
  • 8. Tipo de dato Protected Este tipo de datos es privado para todas aquellas clases que no son derivadas, pero público para una clase derivada de la clase en la que se ha definido la variable como protected.
  • 9. INTERFACES Una interface es una variante de una clase abstracta con la condición de que todos sus métodos deben ser abstractos. Si la interface va a tener atributos, éstos deben llevar las palabras reservadas static final y con un valor inicial ya que funcionan como constantes por lo que, por convención, su nombre va en mayúsculas.
  • 10. Una clase implementa una o más interfaces (separadas por comas) con la palabra reservada implements con el uso de interfaces se puede “simular” la herencia múltiple que Java no soporta
  • 11. Ejemplo: En el siguiente ejemplo, tomaremos de ejemplo a los animales, se sabe que todos los animales hablan (literalmente), por ejemplo el perro ladra, el gato maúlla, etc. Entonces se puede crear una interfaz Animal con el método hablar().
  • 12. Ahora crearemos una clase Perro que implemente la interfaz Animal, por lo que obligatoriamente tendremos que implementar el método hablar(). Ahora crearemos una clase Gato que implemente la interfaz Animal, por lo que obligatoriamente tendremos que implementar el método hablar().