Junior — Middle
Ar įmanoma pakeisti metodo funkcionalumą jį perrašant paveldimoje klasėje?
sobes.tech AI
Atsakymas iš AI
Taip, C# galima keisti metodo funkcionalumą jį perrašant paveldėtame klasėje. Tam pagrindinis metodas turi būti deklaruotas su raktažodžiu virtual, o paveldėtame klasėje jį galima perrašyti naudojant raktažodį override.
Pavyzdys:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Pagrindinio klases pranešimas");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Perrašytas pranešimas iš paveldėtos klasės");
}
}
Metodo ShowMessage iškvietimas DerivedClass objekte vykdys perrašytą metodo versiją.