Interfețe — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

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!");
    }
}