Sunteți pe pagina 1din 10

Interfețe.

Lecția 10
Abilități

• Declararea claselor abstracte;


• Declararea claselor virtuale;
• Apelarea constructorilor în clasele virtuale;
• Elaborarea fragmentelor de program bazate pe clase şi funcții virtuale.
Interfețe:

• O interfață este un tip referință care descrie un set de metode, dar nu


le implementează.
• Clasele și structurile pot implementa interfețe.
• Când o clasă implementează o interfață, trebuie să implementeze toate
metodele acelei interfețe. În acest fel clasa „semnează un contract”, pe
care se obligă să-l respecte.
Sintaxa minimală:

[modificator] interface NumeInterfata


{
//Corpul interfeței
}

Modificatorii pot fi: public, private, protected, internal, protected internal.

Cuvîntul cheie interface precede numele interfeței. Prin convenție numele


interfeței trebuie să înceapă cu litera I.
Exemplu: IComparable, IControl, etc.
Implementarea interfețelor de către clase:

O clasă sau o structură poate implementa una sau mai multe interfețe.

interface I1{ /* … */}


interface I2{ /* … */}
Class C : I1, I2
{
/*…*/
}
Exemplu: Interfața Ifigure, de la care vom deriva două clase Triangle și Circle.
Clasa Triangle
Clasa Circle
Clasa Program
Caracteristicile interfețelor:

• O interfață nu se poate instanția.


• Interfețele nu conțin câmpuri, ci doar metode, proprietăți,
evenimente.
• Interfețele nu conțin implementări ale metodelor.
• Clasele și structurile pot moșteni (Implementa) una sau mai
multe interfețe.
• O interfață poate la rândul său să moștenească o altă
interfață.

S-ar putea să vă placă și