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ådeNameogAgekan ændres. - Skab en
ImmutablePerson-klasse, hvorNameogAgeer 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();
}
}