Junior — Middle
Vai ir iespējams mainīt metodes funkcionalitāti, to pārrakstot mantojošajā klasē?
sobes.tech AI
Atbilde no AI
Jā, C# ir iespējams mainīt metodes funkcionalitāti, to pārrakstot mantošajā klasē. Tam pamatmetodei jābūt deklarētai ar atslēgas vārdu virtual, un mantošajā klasē to var pārrakstīt ar atslēgas vārdu override.
Piemērs:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Pamatklases ziņojums");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Pārrakstīts ziņojums no mantošās klases");
}
}
ShowMessage metodes izsaukums DerivedClass objektā izpildīs pārrakstīto metodes versiju.