🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Polimorfismo in C#

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi del polimorfismo in C#.

Esercizio 1

Creare una classe base chiamata "Figura" con un metodo virtuale "CalcolaArea" che calcola e restituisce l'area della figura.
class Figura
{
    public virtual double CalcolaArea()
    {
        return 0;
    }
}

Esercizio 2

Creare una classe derivata chiamata "Rettangolo" che eredita dalla classe "Figura" e implementa il metodo "CalcolaArea" per calcolare l'area di un rettangolo.
class Rettangolo : Figura
{
    public double Larghezza { get; set; }
    public double Altezza { get; set; }

    public override double CalcolaArea()
    {
        return Larghezza * Altezza;
    }
}

Esercizio 3

Creare una classe derivata chiamata "Cerchio" che eredita dalla classe "Figura" e implementa il metodo "CalcolaArea" per calcolare l'area di un cerchio.
class Cerchio : Figura
{
    public double Raggio { get; set; }

    public override double CalcolaArea()
    {
        return Math.PI * Math.Pow(Raggio, 2);
    }
}

Esercizio 4

Creare un'istanza della classe "Rettangolo" e assegnare valori alle proprietĂ  "Larghezza" e "Altezza". Successivamente, chiamare il metodo "CalcolaArea" per ottenere l'area del rettangolo.
Rettangolo rettangolo = new Rettangolo();
rettangolo.Larghezza = 5;
rettangolo.Altezza = 3;
double areaRettangolo = rettangolo.CalcolaArea();
Console.WriteLine("Area del rettangolo: " + areaRettangolo);

Esercizio 5

Creare un'istanza della classe "Cerchio" e assegnare un valore alla proprietĂ  "Raggio". Successivamente, chiamare il metodo "CalcolaArea" per ottenere l'area del cerchio.
Cerchio cerchio = new Cerchio();
cerchio.Raggio = 2.5;
double areaCerchio = cerchio.CalcolaArea();
Console.WriteLine("Area del cerchio: " + areaCerchio);

Esercizio 6

Creare una classe base chiamata "Animale" con un metodo virtuale "EmettiSuono" che emette un suono dell'animale.
class Animale
{
    public virtual void EmettiSuono()
    {
        Console.WriteLine("L'animale emette un suono.");
    }
}

Esercizio 7

Creare una classe derivata chiamata "Cane" che eredita dalla classe "Animale" e sovrascrive il metodo "EmettiSuono" per far abbaiare il cane.
class Cane : Animale
{
    public override void EmettiSuono()
    {
        Console.WriteLine("Il cane abbaia: Bau bau!");
    }
}

Esercizio 8

Creare una classe derivata chiamata "Gatto" che eredita dalla classe "Animale" e sovrascrive il metodo "EmettiSuono" per far miagolare il gatto.
class Gatto : Animale
{
    public override void EmettiSuono()
    {
        Console.WriteLine("Il gatto miagola: Miao miao!");
    }
}

Esercizio 9

Creare un'istanza della classe "Cane" e chiamare il metodo "EmettiSuono" per far abbaiare il cane.
Cane cane = new Cane();
cane.EmettiSuono();

Esercizio 10

Creare un'istanza della classe "Gatto" e chiamare il metodo "EmettiSuono" per far miagolare il gatto.
Gatto gatto = new Gatto();
gatto.EmettiSuono();