Le classi possono ereditare da altre classi. L’ereditarietà viene definita nella dichiarazione della classe, inserendo due punti dopo il nome della classe e specificando quindi il nome della classe da cui ereditare, ovvero la classe base.
Esempio.
public class A
{
public A() { }
}
public class B : A
{
public B() { }
}
La nuova classe, ovvero la classe derivata, ottiene in tal modo tutti i dati non privati e il comportamento della classe base, oltre a qualsiasi altro dato o comportamento definito per se stessa. La nuova classe dispone quindi di due tipi effettivi: il tipo della nuova classe e il tipo della classe ereditato. L’operazione di cast non implica la modifica dell’oggetto B, ma limita semplicemente la visualizzazione dell’oggetto B ai dati e ai comportamenti dell’oggetto A. Dopo aver eseguito il cast di un oggetto B in un oggetto A, è possibile eseguire il cast dell’oggetto A per convertirlo di nuovo in B. Non è possibile convertire nell’oggetto B tutte le istanze dell’oggetto A, ma solo quelle che sono effettivamente istanze di B. Se si accede alla classe B come tipo B, si otterranno i dati e i comportamenti sia della classe A che della classe B. La possibilità di rappresentare più tipi in un oggetto è nota come polimorfismo.
Postato in: Linguaggio C# (c sharp), Paradigmi di Programmazione | Messo il tag: derivazione, ereditarietà