Nivelul 5 — Moștenire
Interfețe
Note originale de SunDiaL · Vezi sursa în engleză
Interfețele sunt… ceva aparte. Conceptual, o interfață reprezintă un contract sau o capabilitate. Ea spune: „Orice clasă care mă implementează trebuie să aibă acești membri.” Funcțional, seamănă cu o clasă pur abstractă — definește membri fără implementări — dar există câteva diferențe esențiale:
- Interfețele acceptă moștenire multiplă. Fiind contracte, toți membrii interfețelor sunt publici și trebuie implementați ca publici.
O clasă nu moștenește o interfață, ci o implementează.
interface IDriveable {
void Drive();
}
class Car : IDriveable {
public void Drive() {
Console.WriteLine("Vroom!");
}
}