Introductie tot objectgeoriënteerd programmeren in Java
Sani Yusuf
Lead Software Engineering Content Developer
// Abstracte Car-klasse
abstract class Car {
// Abstracte drive-methode
abstract void drive();
// Geen code-implementatie
}
// Toyota-klasse erft van Car
class Toyota extends Car {
}
// Tesla-klasse erft van Car
class Tesla extends Car {
}
// Lamborghini-klasse erft van Car
class Lamborghini extends Car {
}
@Override laat je eigen implementaties van methoden maken // Abstracte Car-klasse
abstract class Car {
// Abstracte drive-methode
abstract void drive();
// Geen code-implementatie
}
class Toyota extends Car {
@Override // Sleutelwoord om te overschrijven
void drive() {
// Toyota-specifieke implementatie
}
}
class Tesla extends Car {
@Override
void drive() {
// Tesla-specifieke implementatie
}
}
class Lamborghini extends Car {
@Override
void drive() {
// Lamborghini-specifieke implementatie
}
}
// ElectricCar-interface
interface ElectricCar {
abstract void charge();
// Geen code-implementatie
}
@Override wordt aangeraden bij interfacemethoden
// Tesla-klasse die de
// ElectricCar-interface implementeert
class Tesla implements ElectricCar {
// charge-methode moet worden geïmplementeerd
@Override
void charge(){
// Tesla-specifieke charge-implementatie
// Selectieve overname via interface
}
}
// Toyota-klasse class Toyota { void drive() { // Eerste implementatie van drive-methode }// Overloaded drive-methode void drive(int topSpeed) { // Tweede implementatie van drive } }
// Honda-klasse class Honda { // Eerste constructor public Honda(String color, String model) { }// Tweede constructor public Honda(String color, String model, String licensePlate) { } }
public class Main { public static void main( String[] args) { // Gebruik eerste constructor Honda hondaOne = new Honda("Red", "Accord");// Gebruik tweede constructor Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Introductie tot objectgeoriënteerd programmeren in Java