Sobes.tech
Junior — Middle

L'oggetto cambierà se il suo metodo viene sovrascritto in una sottoclasse?

sobes.tech AI

Risposta dell'AI

Se in una sottoclasse si sovrascrive un metodo della classe base, chiamando quel metodo su un oggetto della sottoclasse verrà utilizzata la nuova implementazione. L'oggetto stesso come istanza della sottoclasse non cambia, ma il comportamento del metodo sì. Questo permette di modificare o estendere le funzionalità senza modificare la classe originale.

Esempio in C#:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Messaggio dalla classe base");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Messaggio dalla sottoclasse");
    }
}

// Utilizzo
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Mostrerà: "Messaggio dalla sottoclasse"

In questo modo, l'oggetto non cambia come struttura, ma il suo comportamento tramite il metodo cambia.