Introduction à la programmation orientée objet en Java
Sani Yusuf
Lead Software Engineering Content Developer
// Classe abstraite Car
abstract class Car {
// Méthode abstraite drive
abstract void drive();
// Aucune implémentation
}
// La classe Toyota hérite de Car
class Toyota extends Car {
}
// La classe Tesla hérite de Car
class Tesla extends Car {
}
// La classe Lamborghini hérite de Car
class Lamborghini extends Car {
}
@Override permet de fournir des implémentations personnalisées de méthodes // Classe abstraite Car
abstract class Car {
// Méthode abstraite drive
abstract void drive();
// Aucune implémentation
}
class Toyota extends Car {
@Override // Mot-clé pour redéfinir
void drive() {
// Implémentation spécifique à Toyota
}
}
class Tesla extends Car {
@Override
void drive() {
// Implémentation spécifique à Tesla
}
}
class Lamborghini extends Car {
@Override
void drive() {
// Implémentation spécifique à Lamborghini
}
}
// Interface ElectricCar
interface ElectricCar {
abstract void charge();
// Aucune implémentation
}
@Override est recommandé avec les méthodes d'interface
// Classe Tesla implémentant
// l'interface ElectricCar
class Tesla implements ElectricCar {
// La méthode charge doit être implémentée
@Override
void charge(){
// Implémentation de charge propre à Tesla
// Héritage sélectif via l'interface
}
}
// Classe Toyota class Toyota { void drive() { // Première implémentation de drive }// Méthode drive surchargée void drive(int topSpeed) { // Deuxième implémentation de drive } }
// Classe Honda class Honda { // Premier constructeur public Honda(String color, String model) { }// Deuxième constructeur public Honda(String color, String model, String licensePlate) { } }
public class Main { public static void main( String[] args) { // Utilisation du premier constructeur Honda hondaOne = new Honda("Red", "Accord");// Utilisation du deuxième constructeur Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Introduction à la programmation orientée objet en Java