Sobes.tech
Junior — Middle

Hogyan történik a metódusok felülírása öröklődő osztályokban C#-ban?

sobes.tech MI

Válasz az MI-től

C#-ban az öröklődő osztályokban a metódusok felülírását a virtual kulcsszóval az alap osztályban és az override kulcsszóval az származtatott osztályban végzik. Az alap osztályban a metódus virtual-ként van deklarálva, ami lehetővé teszi az leszármazottak számára, hogy felülírják. A származtatott osztályban ugyanazzal a névvel és szignatúrával egy metódus override-ként van deklarálva.

Példa:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Üzenet az alap osztályból");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Felülírt üzenet a származtatott osztályból");
    }
}

Ha az alap osztály metódusa nincs virtual, abstract vagy override-ként deklarálva, akkor nem írható felül, de a new kulcsszóval elrejthető.