N267 Mutable og Immutable Person
Du skal skabe en tom konsolapplikation, hvor du implementerer to forskellige klasser, MutablePerson
og ImmutablePerson
, der repræsenterer en person med navn og alder. Opgaven består af følgende trin:
- Skab en
MutablePerson
-klasse, hvor bådeName
ogAge
kan ændres. - Skab en
ImmutablePerson
-klasse, hvorName
ogAge
er immutable (kan ikke ændres). - I hovedprogrammet oprettes instanser af begge klasser, og deres værdier udskrives på skærmen.
Klik for at se et forslag til en løsning
// Klasse til mutable person
public class MutablePerson
{
// Offentlige egenskaber, der kan ændres
public string Name { get; set; }
public int Age { get; set; }
// Konstruktor
public MutablePerson(string name, int age)
{
Name = name;
Age = age;
}
// Metode til at udskrive detaljer om personen
public void DisplayInfo()
{
Console.WriteLine($"MutablePerson: {Name}, {Age} år");
}
}
// Klasse til immutable person
public class ImmutablePerson
{
// Offentlige readonly egenskaber, der ikke kan ændres
public string Name { get; }
public int Age { get; }
// Konstruktor med init-egenskaber
public ImmutablePerson(string name, int age)
{
Name = name;
Age = age;
}
// Metode til at udskrive detaljer om personen
public void DisplayInfo()
{
Console.WriteLine($"ImmutablePerson: {Name}, {Age} år");
}
}
// Hovedprogram
class Program
{
static void Main()
{
// Opret en mutable person
MutablePerson mutablePerson = new MutablePerson("Alice", 30);
mutablePerson.DisplayInfo();
mutablePerson.Age = 31; // Ændrer alder
mutablePerson.DisplayInfo();
// Opret en immutable person
ImmutablePerson immutablePerson = new ImmutablePerson("Bob", 40);
immutablePerson.DisplayInfo();
// immutablePerson.Age = 41; // Kan ikke ændres
// Udskriv info igen
mutablePerson.DisplayInfo();
immutablePerson.DisplayInfo();
}
}