SlideShare una empresa de Scribd logo
1 de 13
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.
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

La actualidad más candente

Java interfaces
Java interfacesJava interfaces
Java interfacesjehan1987
 
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Pooja Talreja
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
Design Pattern - Factory Method Pattern
Design Pattern - Factory Method PatternDesign Pattern - Factory Method Pattern
Design Pattern - Factory Method PatternMudasir Qazi
 
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Edureka!
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in javaRahulAnanda1
 
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceJava OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceOUM SAOKOSAL
 
Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design PatternJaswant Singh
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםמורן אלקובי
 
Thread priority in java
Thread priority in javaThread priority in java
Thread priority in javaRakesh Mittal
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptNachoTValverde
 
This keyword in java
This keyword in javaThis keyword in java
This keyword in javaHitesh Kumar
 
Generics and collections in Java
Generics and collections in JavaGenerics and collections in Java
Generics and collections in JavaGurpreet singh
 
Super keyword in java
Super keyword in javaSuper keyword in java
Super keyword in javaHitesh Kumar
 

La actualidad más candente (20)

Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Design Pattern - Factory Method Pattern
Design Pattern - Factory Method PatternDesign Pattern - Factory Method Pattern
Design Pattern - Factory Method Pattern
 
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceJava OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & Interface
 
Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקים
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Thread priority in java
Thread priority in javaThread priority in java
Thread priority in java
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.ppt
 
Threading in C#
Threading in C#Threading in C#
Threading in C#
 
Composite Design Pattern
Composite Design PatternComposite Design Pattern
Composite Design Pattern
 
This keyword in java
This keyword in javaThis keyword in java
This keyword in java
 
Generics and collections in Java
Generics and collections in JavaGenerics and collections in Java
Generics and collections in Java
 
Java collections
Java collectionsJava collections
Java collections
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Oop java
Oop javaOop java
Oop java
 
Super keyword in java
Super keyword in javaSuper keyword in java
Super keyword in java
 

Destacado (8)

¿Qué es una interface en java?
¿Qué es una interface en java?¿Qué es una interface en java?
¿Qué es una interface en java?
 
Poo Java
Poo JavaPoo Java
Poo Java
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Interfaces en Java
Interfaces en JavaInterfaces en Java
Interfaces en Java
 
Java Generics
Java GenericsJava Generics
Java Generics
 
Interfaces en Java
Interfaces en JavaInterfaces en Java
Interfaces en Java
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Generics
GenericsGenerics
Generics
 

Similar a Clases abstractas e interfaces en java

Clases abstractas interfaces
Clases abstractas interfacesClases abstractas interfaces
Clases abstractas interfacesAlexitoPeralta
 
Clases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioClases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioJose Luis Moreno Arcos
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Kositha Jimhiz G
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Nathy_A
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfJCarlosCrespo
 
2 3 3 Interfaces
2 3 3 Interfaces2 3 3 Interfaces
2 3 3 InterfacesUVM
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptxjuan gonzalez
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en javaAndres Vasquez
 

Similar a Clases abstractas e interfaces en java (20)

Alejandro Merizalde
Alejandro MerizaldeAlejandro Merizalde
Alejandro Merizalde
 
Clases abs e interfaces
Clases abs e interfacesClases abs e interfaces
Clases abs e interfaces
 
Clases abstractas interfaces
Clases abstractas interfacesClases abstractas interfaces
Clases abstractas interfaces
 
Clases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioClases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicio
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 
Interfaces
InterfacesInterfaces
Interfaces
 
Interfaces 14k
Interfaces 14kInterfaces 14k
Interfaces 14k
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
Laboratorio clase abstract
Laboratorio clase abstractLaboratorio clase abstract
Laboratorio clase abstract
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
2 3 3 Interfaces
2 3 3 Interfaces2 3 3 Interfaces
2 3 3 Interfaces
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Leccion 9 Java
Leccion 9 JavaLeccion 9 Java
Leccion 9 Java
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en java
 

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.
  • 7.
  • 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().