Junior — Middle
Vai ir iespējams definēt virtuālo funkciju ne-iemantošajā klasē?
sobes.tech AI
Atbilde no AI
C# valodā virtuāla funkcija (metode) ir paredzēta, lai to pārdefinētu atvasinātajās klasēs. Ja klase ir deklarēta kā sealed (noslēgta), tajā var definēt virtuālas metodes, bet tās nevar pārdefinēt, jo mantošana ir aizliegta.
Piemērs:
sealed class MyClass
{
public virtual void MyMethod()
{
Console.WriteLine("Virtuāla metode noslēgtā klasē");
}
}
Šeit metode MyMethod ir virtuāla, bet tā kā klase MyClass ir noslēgta, neviens to nevar manto un pārdefinēt šo metodi. Tādējādi virtuālas metodes ne-mantojamā klasē ir tehniski iespējamas, bet to jēga ir ierobežota.