Meer informatie over inheritance

Oefening 1 Voertuigen hiërarchie

Je gaat een systeem bouwen waarin verschillende voertuigen gemeenschappelijke eigenschappen delen, maar elk type voertuig een unieke eigenschap heeft.

Specificaties

  • Maak een basisklasse Voertuig met de eigenschappen:
    • Merk (string)
    • Snelheid (int, standaard 0)
    • Een methode Rijden() die de snelheid met 10 verhoogt.
    • Een virtuele methode ToonInfo() die merk en snelheid weergeeft.
  • Maak 2 subklassen:
    1. Auto, met een extra eigenschap BrandstofType (bijv. Benzine, Diesel).
    2. Fiets, met een extra eigenschap HeeftBel (bool, geeft aan of de fiets een bel heeft).
  • Override ToonInfo() in de subklassen om hun specifieke eigenschappen ook weer te geven.
  • In de Main()-methode:
    • Maak een Auto en een Fiets aan.
    • Laat beide voertuigen 2x rijden.
    • Toon hun informatie.

Verwachte output

Auto: Tesla, Brandstof: Elektrisch, Snelheid: 20 km/u
Fiets: Gazelle, Bel: Ja, Snelheid: 20 km/u

Nu jij

Je kunt deze code als basis gebruiken en zelf de subklassen Auto en Fiets implementeren.

using System;
 
class Voertuig  
{
    public string Merk { get; set; }
    public int Snelheid { get; private set; } = 0;
 
    public void Rijden()
    {
        Snelheid += 10;
    }
 
    public virtual void ToonInfo()
    {
        Console.WriteLine($"Voertuig: {Merk}, Snelheid: {Snelheid} km/u");
    }
}
 
class Program
{
    static void Main()
    {
        // Maak hier een Auto en een Fiets aan en roep de juiste methodes aan!
    }
}

Oefening 2 Dieren modelleren

We maken een programma om dieren te modelleren. Alle dieren hebben bepaalde gemeenschappelijke eigenschappen, maar sommige dieren hebben unieke eigenschappen en gedragingen.

Specificaties

  1. Maak een basisklasse Dier met:
    • Een property Naam (string)
    • Een property Leeftijd (int)
    • Een methode MaakGeluid() die een standaardgeluid afdrukt
  2. Maak twee subklassen die erven van Dier:
    • Hond:
      • Heeft een extra methode Blaffen() die "Woef woef!" afdrukt
    • Kat:
      • Heeft een extra methode Miauwen() die "Miauw!" afdrukt
  3. In de Main-methode:
    • Maak een Hond-object en een Kat-object
    • Geef beide dieren een naam en leeftijd
    • Roep MaakGeluid(), Blaffen() of Miauwen() aan voor elk dier
    • Druk de eigenschappen af

Verwachte Output

Naam: Max, Leeftijd: 4 jaar
Hond maakt geluid...
Woef woef!

Naam: Luna, Leeftijd: 3 jaar
Kat maakt geluid...
Miauw!

Nu jij

Gebruik onderstaande code als basis en vul de ontbrekende delen aan.

using System;
 
class Dier
{
    public string Naam { get; set; }
    public int Leeftijd { get; set; }
 
    public virtual void MaakGeluid()
    {
        Console.WriteLine("Dier maakt geluid...");
    }
}
 
// Maak hier de class 'Hond' die overerft van 'Dier'
 
// Maak hier de class 'Kat' die overerft van 'Dier'
 
class Program
{
    static void Main()
    {
        // Maak een hond en een kat
        // Stel hun naam en leeftijd in
        // Roep de methoden aan en toon de eigenschappen
    }
}