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! }}
Mogelijke uitwerking
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"); }}// Auto erft van Voertuigclass Auto : Voertuig{ public string BrandstofType { get; set; } public override void ToonInfo() { Console.WriteLine($"Auto: {Merk}, Brandstof: {BrandstofType}, Snelheid: {Snelheid} km/u"); }}// Fiets erft van Voertuigclass Fiets : Voertuig{ public bool HeeftBel { get; set; } public override void ToonInfo() { string belStatus = HeeftBel ? "Ja" : "Nee"; Console.WriteLine($"Fiets: {Merk}, Bel: {belStatus}, Snelheid: {Snelheid} km/u"); }}class Program{ static void Main() { Auto mijnAuto = new Auto { Merk = "Tesla", BrandstofType = "Elektrisch" }; Fiets mijnFiets = new Fiets { Merk = "Gazelle", HeeftBel = true }; // Laat beide voertuigen rijden mijnAuto.Rijden(); mijnAuto.Rijden(); mijnFiets.Rijden(); mijnFiets.Rijden(); // Toon de informatie mijnAuto.ToonInfo(); mijnFiets.ToonInfo(); }}
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
Maak een basisklasse Dier met:
Een propertyNaam (string)
Een propertyLeeftijd (int)
Een methodeMaakGeluid() die een standaardgeluid afdrukt
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
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 }}
Mogelijke uitwerking
using System;class Dier{ public string Naam { get; set; } public int Leeftijd { get; set; } public virtual void MaakGeluid() { Console.WriteLine("Dier maakt geluid..."); }}class Hond : Dier{ public void Blaffen() { Console.WriteLine("Woef woef!"); } public override void MaakGeluid() { Console.WriteLine("Hond maakt geluid..."); Blaffen(); }}class Kat : Dier{ public void Miauwen() { Console.WriteLine("Miauw!"); } public override void MaakGeluid() { Console.WriteLine("Kat maakt geluid..."); Miauwen(); }}class Program{ static void Main() { Hond mijnHond = new Hond { Naam = "Max", Leeftijd = 4 }; Kat mijnKat = new Kat { Naam = "Luna", Leeftijd = 3 }; Console.WriteLine($"Naam: {mijnHond.Naam}, Leeftijd: {mijnHond.Leeftijd} jaar"); mijnHond.MaakGeluid(); Console.WriteLine(); Console.WriteLine($"Naam: {mijnKat.Naam}, Leeftijd: {mijnKat.Leeftijd} jaar"); mijnKat.MaakGeluid(); }}