de prijs alleen binnen de class lees- en schrijfbaar is.
de naam door iedereen leesbaar is, maar alleen binnen de class aangepast mag worden.
Nu jij
public class Product{ ________ decimal prijs; public string Naam { get; ________ set; } public Product(string naam, decimal prijs) { Naam = naam; ________ = prijs; }}
Mogelijke uitwerking
public class Product{ private decimal prijs; public string Naam { get; private set; } public Product(string naam, decimal prijs) { Naam = naam; this.prijs = prijs; }}
Opdracht 2 Subklasse en protected member
Gegeven een class Persoon met:
protected string geadresseerde;
een public void StuurBericht(string tekst) die geadresseerde gebruikt.
Specificaties
Maak een subklasse Admin : Persoon die:
in zijn constructor de geadresseerde instelt
een public Alert() methode aanbiedt die een bericht stuurt
Nu jij
public class Persoon{ protected string geadresseerde; public void StuurBericht(string tekst) { Console.WriteLine($"Bericht aan {geadresseerde}: {tekst}"); }}________ class Admin : Persoon{ ________ Admin(string naam) { geadresseerde = ________; } ________ void Alert() { StuurBericht("Admin-alert"); }}
Mogelijke uitwerking
public class Admin : Persoon{ public Admin(string naam) { geadresseerde = naam; } public void Alert() { StuurBericht("Admin-alert"); }}
Opdracht 3 Static en public
Schrijf een public static class Config met:
een public string Versie.
een public static void ToonVersie() die de versie toont.
public static class Config{ public const string Versie = "1.0.0"; public static void ToonVersie() { Console.WriteLine($"Versie: {Versie}"); }}
Opdracht 4 Default access modifier
Wat zijn de standaard access modifiers voor de class en de methode?
Specificaties
Schrijf een class Klant zonder access modifiers
Voeg een methode Greet() toe
Nu jij
class Klant{ void Greet() { Console.WriteLine("Welkom!"); }}
De standaard access modifier voor de class is ________.
De standaard access modifier voor de methode is ________.
Uitwerking
De standaard access modifier voor de class is internal.
De standaard access modifier voor de methode is private.
Opdracht 5 Encapsulatie via properties
Maak een class Medewerker met:
een public string Naam { get; }
een private set op de public int Uren { get; } zodat alleen de class zelf uren kan wijzigen.
een public void Werk(int extraUren) die de uren verhoogt.
Nu jij
public class Medewerker{ ________ ________ Naam { get; } public int Uren { get; ________; } public Medewerker(string naam) { Naam = naam; Uren = 0; } ________ void Werk(int extraUren) { Uren += extraUren; }}
Mogelijke uitwerking
public class Medewerker{ public string Naam { get; } public int Uren { get; private set; } public Medewerker(string naam) { Naam = naam; Uren = 0; } public void Werk(int extraUren) { Uren += extraUren; }}