Meer informatie over access modifiers

Opdracht 1 Velden beveiligen

Schrijf een class Product waarin:

  • 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;
    }
}

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");
  }
}

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.

Nu jij

________ ________ class Config
{
    ________ string Versie = "1.0.0";
 
    ________ ________ 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 ________.


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;
  }
}