Unidad: Programación Orientada a ObjetosLección 5 de 6Gratis
📐
Clases abstractas e interfaces
Una clase abstracta no se puede instanciar directamente (no puedes hacer new de ella); sirve como base que otras clases extienden, y puede tener métodos abstract (sin cuerpo, obligatorios de implementar).
abstract class Figura {
abstract double area(); // sin cuerpo
}
class Circulo extends Figura {
double radio;
double area() { return Math.PI * radio * radio; } // obligatorio implementarlo
}
Una interfaz es un contrato: define QUÉ métodos debe tener una clase, sin decir CÓMO. Una clase puede implementar varias interfaces (a diferencia de la herencia simple).
interface Volador {
void volar();
}
class Pajaro implements Volador {
public void volar() { System.out.println("Vuela"); }
}
Pon a prueba lo que aprendiste
Concepto
¿Se puede crear un objeto directamente de una clase abstracta con new?
ANo, nunca
BSí, siempre
CSolo si es final
DSolo si tiene un constructor vacío
Ver respuesta
A) No, nunca Una clase abstracta no se puede instanciar directamente, solo a través de sus subclases concretas.
Sintaxis
¿Qué palabra clave usa una clase para implementar una interfaz?
Aextends
Bimplementa
Cimplements
Dinterface
Ver respuesta
C) implements Implements se usa con interfaces; extends con clases (herencia).
Concepto
¿Cuántas interfaces puede implementar una misma clase?
ANinguna si ya extiende de otra clase
BVarias al mismo tiempo
CDepende de la versión de Java
DSolo una
Ver respuesta
B) Varias al mismo tiempo A diferencia de la herencia simple de clases, se pueden implementar varias interfaces.
🎯 Practica esta lección completa
Ejercicios de completar código, ordenar bloques y respuesta libre. Ganas XP y mantienes tu racha.