Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Virtuális függvény

A „virtual” taggal jelöljük azokat a függvényeket, metódusokat, amelyeknek szeretnénk, hogy egy
leszármaztatott osztályban felülírhatóak legyenek. Egy metódust csak akkor lehet felülírni, ha ezt a
tagot hozzáírjuk, enélkül alapértelmezés szerint nem felülírhatóak. A felülírás az „override” taggal
történik.
--------------------------------------------------------------------
class A
{
public virtual void Display()
{
Console.WriteLine("Osztály A");
}
}
--------------------------------------------------------------------
class B : A
{
public override void Mutat()
{
Console.WriteLine("Osztály B");
}
}
--------------------------------------------------------------------
class Program
{
static void Main(string[] args)
{
A oszt1 = new A();
A oszt2 = new B();

obj1.Mutat();
obj2.Mutat();
}
}
--------------------------------------------------------------------

A B osztály az A osztály leszármazottja, így az A osztály virtuális függvényét a B osztályban


felülírhatjuk.
Az oszt1 változó egy A típusú objektumra mutat és az oszt2 egy B típusú objektumra. A Mutat()
függvény hívásakor a B osztályban felülírt virtuális függvénye kerül meghívásra az oszt2 esetében és
az oszt1 esetében az A osztályban definiált változat hívódik meg.

You might also like