Introduzione alla programmazione orientata agli oggetti in Java
Sani Yusuf
Lead Software Engineering Content Developer
// Classe Car
class Car {
// La capacità della batteria vale
// solo per le auto elettriche
public int batteryCapacity;
void drive() {
}
}
// Classe Toyota class Toyota extends Car { void drive(){ } }// Classe Main public static class Main { public static void main(String[] args) { Toyota myToyota = new Toyota(); // Tutte le auto erediteranno "batteryCapacity" // anche se non sono elettriche System.out.println( myToyota.batteryCapacity); // Non applicabile } }
implements
// Interfaccia ElectricCar
interface ElectricCar {
}
// Tesla che implementa
// l'interfaccia ElectricCar
class Tesla implements ElectricCar {
}
UPPER_SNAKE_CASEpublic static final in automatico
interface ElectricCar {
// Implicitamente public static final
// Non può essere cambiato
int BATTERY_CAPACITY = 310;
}
abstract per impostazione predefinita, senza implementazioneabstract devono essere implementati nella sottoclasseinterface ElectricCar { // Implicitamente public static final // Non può essere cambiato int BATTERY_CAPACITY = 310;// Di default è un metodo astratto void charge();// Questo è un metodo concreto void autoPark() { }}class Tesla implements ElectricCar { // Deve essere implementato public void charge() { } }
Introduzione alla programmazione orientata agli oggetti in Java