Junior — Middle
Kas on võimalik muuta meetodi funktsionaalsust, seda ülekirjutades pärilikus klassis?
sobes.tech AI
Vastus AI-lt
Jah, C#-s on võimalik muuta meetodi funktsionaalsust, üle kirjutades selle pärilikus klassis. Selleks peab põhimeetod olema deklareeritud võtmesõnaga virtual, ning pärilikus klassis saab seda üle kirjutada võtmesõnaga override.
Näide:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Põhiklassi sõnum");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Üle kirjutatud sõnum pärilikus klassis");
}
}
ShowMessage meetodi väljakutse DerivedClass objektil käivitab meetodi üle kirjutatud versiooni.