Por enésima vez, no es Visualizable, es Viewable.
Introducción al Curso
Bienvenidos al Curso Avanzado de Java SE
Clases avanzadas
Clases Abstractas
Implementando clases abstractas al proyecto
Ejercicio. Clases Abstractas
Implementando métodos abstractos en Java
JavaDocs
Qué es JavaDocs
Implementando JavaDocs al proyecto
Reto
JavaDocs tags para herencia e interfaces
Generado Java Docs
Clases Anidadas
Clases anidadas y tipos
Ejercicio. Clases Anidadas
Implementando una clase anidada al proyecto
Instanciando clases estáticas anidadas
Enumerations
Interfaces Avanzadas
Métodos con implementación métodos default y private
Creando Interfaz DAO con métodos default y private
Ejercicio. Interfaz DAO
Diferencia Interfaces y Clases Abstractas
Herencia en Interfaces
Colecciones Avanzadas
Map, HashMap, TreeMap y LinkedHashMap
Excepciones
Manejo de errores
Try-catch-finally / Try-with-resources
JDBC
Definición y composición del API
Ejercicio. JDBC API
Creando la base de datos y conectando el proyecto con MySQL
Generando conexión a la base de datos y creando clase de constantes
Sentencia SELECT en Java
Sentencia SELECT con Parámetros
Sentencia INSERT en Java
Reto: Reporte por fecha
Lambdas
¿Cómo resolver el reto: reporte por fecha?
Interfaces funcionales
Programación Funcional
Lambdas
Ejercicio. Lambdas
Lambdas como variables y Recursividad
Stream y Filter
Predicate y Consumer
Fin del Curso
Conclusión del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 19
Preguntas 2
Por enésima vez, no es Visualizable, es Viewable.
"En las clases abstractas se piensa más en objetos, mientras que en las interfaces se piensa más en acciones en común para muchos objetos"
Este video lo vi en el curso de POO de Java. Pero esta bueno volver a verlo y reforzar el conocmiento.
Las clases abstractas y las interfaces coinciden en sus atributos, pero no se pueden crear instancias ni objetos, pero al heredarla se tienen que implementar todos sus metodos.
Las interfaces hacen lo mismo pero aqui no se tienen que implementar todos los metodos si no se utilizan.
Yo trato de pensarlo así. Las clases abstractas, como cualquier otra clase, usan la herencia para transferir sus atributos, pero las interfaces con sobre comportamiento.
Ejemplo: Puedes usar una clase abstracta Animal de la cual heredan las clases Insecto, Mamifero, Ave. Una vez hecha la herencia, te vez tentado crear en Ave el método volar(); sin embargo te das cuenta que no todas las aves vuelan (ejm: pingüinos) y que además hay mamiíferos que sí vuelan.
Yo creo que comportamiento es la palabra clave. Un comportamiento similar aparece indistintamente de la relación entre dos clases.
diferencias entre clases abstractas y interfaces
las clases abstratas:
las interfaces :
alta musica le pusieron al clip
¿ Cuándo utilizar cada una ?
Usaremos interfaces para implementar métodos que se comporten entre familias. Es decir la relación que va más allá de la herencia entre dos clases.
Usaremos clases abstractas para definir subclases, esta siempre deberá ser heredada para poder utilizar y sobre escribir métodos de la clase padre.
Abstractas: Objetos.
Interfaces: Acciones.
Hola @anncode, una pregunta… ¿a qué te refieres cuando dices “Una buena práctica es que el diseño de las aplicaciones siempre esté orientado a interfaces y no a la implementación”?
Gracias, Saludos y excelente curso
Otra diferencia bien significativa hasta donde tengo entendido es que las Clases abstractas tienen atributos y las interfaces no. Un ejemplo es que tengamos una clase Abstracta figura que tiene atributos como base y altura, esto lo tiene en comun figuras como circulos, triangulos. Las clases como circulo y triangulo pueden heredar de Figura. Ahora cada una de estas tiene sus atributos como area y perimetros. Estos pueden tener metodos de obtener área y perimetro, que se van a comportar de manera diferente porque no se calculan de la misma manera.
Las interfaces no tienen atributos y otra caracteristica es que las interfaces se tienen que implementar obligatoriamente en la clase que las implementa (valga la redundancia), mientras que los metodos abstractos de clases abstractas, no tienen que implementarse forzosamente.
Buena sintesis!!
❤️
Excelente explicación de las interfaces y las clases abstractas
buena explicación!!!
Que buena explicación!
Genial.
Muchas gracias por la explicación sobre las diferencias entre clases abstractas y las interfaces.
buena explicación 😃 gracias
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?