L'ereditarietà in C#
In questa lezione creerai una classe figlia che eredita da una classe madre per riutilizzare il codice e personalizzarne il comportamento.
Introduzione
L'ereditarietà (inheritance) permette a una nuova classe (la classe figlia) di ricevere tutti i dati e i metodi di una classe esistente (la classe madre) e poi di aggiungere o cambiare comportamenti. L'ereditarietà esprime una relazione "è un", per esempio uno sviluppatore è un dipendente, e va usata solo quando questa relazione è davvero vera.
La classe Employee conserva il nome del dipendente e ha il metodo Describe() marcato virtual, cioè la classe figlia può farne l'override. La classe Developer eredita da Employee, passa il nome alla classe madre con Employee(name) e usa override per descrivere anche il linguaggio di programmazione. Il risultato è Ada writes C#.
Esempio C# eseguibile
using System;
class Employee(string name)
{
public string Name { get; } = name;
public virtual string Describe() => Name;
}
class Developer(string name, string language) : Employee(name)
{
public override string Describe() => $"{Name} writes {language}";
}
class Program
{
static void Main() => Console.WriteLine(new Developer("Ada", "C#").Describe());
}
Ada writes C#Esercitati con il debugger
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
Tutte le sfide