Sobes.tech
Junior — Middle

Kas objekt muutub, kui selle meetodit ülemklassist üle kirjutada?

sobes.tech AI

Vastus AI-lt

Kui alamosa kirjutab üle põhiklassi meetodi, siis selle meetodi kutsumisel alamosa objektil kasutatakse uut rakendust. Objekti struktuur kui alamosa näidis ei muutu, kuid meetodi käitumine muutub. See võimaldab muuta või laiendada funktsionaalsust ilma algse klassi muutmata.

Näide C#-s:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Põhiklassi sõnum");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Alamosa sõnum");
    }
}

// Kasutamine
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Kuvab: "Alamosa sõnum"

Sellisel viisil ei muutu objekti struktuur, kuid selle käitumine meetodi kaudu muutub.