N205 Simpel klasse (Person)
Du skal skabe en tom konsol app med en klasse Person med følgende medlemmer:
- Et offentlig string felt kaldet Fornavn
- Et offentlig string felt kaldet Efternavn
- Et offentlig int felt kaldet Fødselsår
- En offentlig metode FuldtNavn() som returnerer Fornavn + ” ” + Efternavn
- En offentlig metode Alder() der beregner en estimeret alder ud fra fødselsår
- En default constructor som sætter Fornavn og Efternavn til ””
- En custom constructor som initialiserer alle felter
Brug klassen i Main ved at skabe en 2-3 objekter med new og test at metoderne virker.
Ekstra: Serialisering
Prøv at serialisere og deserialisere til JSON med System.Text.Json.JsonSerializer.Serialize og System.Text.Json.JsonSerializer.Deserialize - se løsning.
Klik for at se et forslag til en løsning
using System;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Unicode;
namespace MinApp
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person();
p1.Efternavn = "cronberg";
p1.Fornavn = "mathias";
p1.Fødselsår = 2006;
Console.WriteLine(p1.FuldtNavn());
Console.WriteLine(p1.EstimeretAlder());
Person p2 = new Person("mikkel", "cronberg", 2006);
Console.WriteLine(p2.FuldtNavn());
Console.WriteLine(p2.EstimeretAlder());
// Ekstra
// Til string
// Medtag felter og sørg for at ØÆÅ håndteres korrekt i JSON
var options = new JsonSerializerOptions { IncludeFields = true, Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.Latin1Supplement) };
// Serialisering
string json = System.Text.Json.JsonSerializer.Serialize(p2, options);
Console.WriteLine(json);
// Fra string
Person p3 = System.Text.Json.JsonSerializer.Deserialize<Person>(json, options);
}
}
class Person
{
public string Fornavn;
public string Efternavn;
public int Fødselsår;
public string FuldtNavn()
{
return $"{Fornavn} {Efternavn}";
}
public int EstimeretAlder()
{
int år = DateTime.Now.Year;
return år - this.Fødselsår;
}
// default constructor
public Person()
{
this.Fornavn = "";
this.Efternavn = "";
}
// Custom constructor
public Person(string fornavn, string efternavn, int fødselsår)
{
this.Fødselsår = fødselsår;
this.Fornavn = fornavn;
this.Efternavn = efternavn;
}
}
}