C# orientato agli oggetti

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

C#
Esegui il codice →
Program.cs
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());
}
Risultato dell'esecuzione
Ada writes C#

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

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