Introducción a la Programación Orientada a Objetos en Java
Sani Yusuf
Lead Software Engineering Content Developer
// Clase Car
class Car {
// La capacidad de batería solo aplica
// a los coches eléctricos
public int batteryCapacity;
void drive() {
}
}
// Clase Toyota class Toyota extends Car { void drive(){ } }// Clase Main public static class Main { public static void main(String[] args) { Toyota myToyota = new Toyota(); // Todos los coches heredarán "batteryCapacity" // aunque no sean eléctricos System.out.println( myToyota.batteryCapacity); // No aplica } }
implements
// Interfaz ElectricCar
interface ElectricCar {
}
// Tesla implementa la
// interfaz ElectricCar
class Tesla implements ElectricCar {
}
UPPER_SNAKE_CASEpublic static final de forma implícita
interface ElectricCar {
// Implícitamente public static final
// No se puede cambiar
int BATTERY_CAPACITY = 310;
}
abstract por defecto, sin implementaciónabstract deben implementarse en la subclaseinterface ElectricCar { // Implícitamente public static final // No se puede cambiar int BATTERY_CAPACITY = 310;// Este es un método abstract por defecto void charge();// Este es un método concreto void autoPark() { }}class Tesla implements ElectricCar { // Debe implementarse public void charge() { } }
Introducción a la Programación Orientada a Objetos en Java