Sobes.tech
Junior — Middle

Qual è il numero massimo di classi astratte che può implementare una classe in un sistema orientato agli oggetti?

sobes.tech AI

Risposta dell'AI

In C#, una classe può ereditare solo da una classe astratta, poiché l'ereditarietà multipla di classi non è supportata. Tuttavia, una classe può implementare più interfacce.

Esempio:

abstract class Animal { public abstract void MakeSound(); }

interface IFlyable { void Fly(); }
interface ISwimmable { void Swim(); }

class Duck : Animal, IFlyable, ISwimmable
{
    public override void MakeSound() { Console.WriteLine("Quack"); }
    public void Fly() { Console.WriteLine("Flying"); }
    public void Swim() { Console.WriteLine("Swimming"); }
}

Qui, la classe Duck eredita da una classe astratta Animal e implementa due interfacce.