Meer informatie over properties

Opdracht 1

Maak een klasse Persoon met een property Naam.

Specificaties

  • De klasse heet Persoon.
  • De property Naam is public string en heeft zowel get als set.

Verwachte output

Als je in Main schrijft:

Persoon p = new Persoon { Naam = "Emma" };
Console.WriteLine(p.Naam);

Komt in de console:

Emma

Nu jij

public class Persoon
{
  public string Naam { ________ }
}
 
// In Main:
Persoon p = new Persoon { Naam = "Emma" };
Console.WriteLine(p.Naam);

Opdracht 2

Implementeer een property Leeftijd die nooit een negatieve waarde toelaat.

Specificaties

  • Gebruik een private field _leeftijd.
  • In de setter: als value < 0, zet _leeftijd op 0, anders op value.

Verwachte output

Als je in Main schrijft:

Persoon p = new Persoon();
p.Leeftijd = -5;
Console.WriteLine(p.Leeftijd);

Komt in de console:

0

Nu jij

public class Persoon
{
  private int _leeftijd;
  public int Leeftijd
  {
    get { return _leeftijd; }
    set
    {
      if (value < 0) _leeftijd = ________;
      else _leeftijd = ________;
    }
  }
}
 
// In Main:
Persoon p = new Persoon();
p.Leeftijd = -5;
Console.WriteLine(p.Leeftijd);

Opdracht 3

Voeg aan de klasse Vak een read-only property EersteStudent toe die de naam van de eerste student in een List<string> teruggeeft.

Specificaties

  • De klasse Vak heeft een private List<string> _studenten.
  • De property EersteStudent heeft alleen een get en retourneert _studenten[0].
  • Initialiseer _studenten in de constructor met minstens één naam.

Verwachte output

Als je in Main schrijft:

var vak = new Vak(new List<string> { "Jan", "Piet" });
Console.WriteLine(vak.EersteStudent);

Komt in de console:

Jan

Nu jij

using System;
using System.Collections.Generic;
 
public class Vak
{
  private List<string> _studenten;
  public Vak(List<string> studenten)
  {
    _studenten = studenten;
  }
  public string EersteStudent { ________ }
}
 
// In Main:
// Maak een Vak-object met studenten {"Jan","Piet"} en schrijf EersteStudent naar de console.

Opdracht 4

Breid de klasse Thermostaat uit met een property Temperatuur die alleen waarden tussen 10 en 30 toestaat en log een bericht bij wijziging.

Specificaties

  • Private field _temp.
  • Setter: als value geldig is, stel _temp in en schrijf: Temperatuur ingesteld op {value}°C.
  • Anders schrijf: Ongeldige temperatuur.

Verwachte output

Voor:

Thermostaat t = new Thermostaat();
t.Temperatuur = 25;
t.Temperatuur = 35;

Komt in de console:

Temperatuur ingesteld op 25°C
Ongeldige temperatuur

Nu jij

using System;
 
public class Thermostaat
{
  private int _temp;
  public int Temperatuur
  {
    get { return _temp; }
    set
    {
      if (value >= 10 && value <= 30)
      {
        _temp = value;
        Console.WriteLine(________);
      }
      else
      {
        Console.WriteLine(________);
      }
    }
  }
}
 
// In Main:
// Test met value = 25 en value = 35.

Opdracht 5

Schrijf een stukje code in Main waarin je:

  • Een Persoon maakt met Naam = "Sara" en Leeftijd = 22.
  • De naam en leeftijd via properties uitleest en naar de console schrijft.

Specificaties

  • Maak een Persoon-object aan.
  • Stel Naam en Leeftijd in.
  • Lees beide properties uit en schrijf naar de console.

Verwachte output

Naam: Sara
Leeftijd: 22

Nu jij

 
public class Persoon
{
  public ________ ________ { get; ________; }
  public ________ ________ { ________; ________ }
}
 
public class Program
{
  public static void Main()
  {
    // Stap 1: maak Persoon aan
    Persoon p = new Persoon();
    p.Naam = "Sara";
    p.Leeftijd = ________;
 
    // Stap 2: lees properties uit
    Console.WriteLine($"Naam: {________}");
    Console.WriteLine($"Leeftijd: {________}");
  }
}