Junior — Middle
Je možné priamo v kóde inštancovať abstraktnú triedu?
sobes.tech AI
Odpoveď od AI
V jazyku C# nie je možné priamo inštancovať abstraktnú triedu. Je to spôsobené tým, že abstraktná trieda môže obsahovať abstraktné metódy bez implementácie a prekladač neumožní vytvoriť objekt takejto triedy.
Na použitie abstraktnej triedy je potrebné vytvoriť odvodenú triedu, ktorá implementuje všetky abstraktné metódy, a túto odvodenú triedu je možné inštancovať.
Príklad:
abstract class Animal
{
public abstract void MakeSound();
}
class Dog : Animal
{
public override void MakeSound() {
Console.WriteLine("Vau!");
}
}
// Chyba: nie je možné vytvoriť objekt abstraktnej triedy
// Animal a = new Animal();
// Správne:
Animal dog = new Dog();
dog.MakeSound(); // Vypíše "Vau!"