using System; // DoJo-Klassenaufgabe: // Programmieren Sie eine Klasse Personalausweis mit folgenden Eigenschaften // string name // int id // - Konstruktor: Erhält den Namen und vergibt eine neue, eindeutige Id (beginnend mit 1000) // - Property zum Setzen und Lesen der nächsten Id. Beim Setzen muss die Id größer sein als die bisherige Nummer! // Dieses Property muss vor dem Anlegen der ersten Person aufrufbar sein! // - Property: Zum Lesen des Namens (kann auch als Auto-Property realisiert werden) // - Überladene ToString-Methode: Soll den Namen und die Id ausgeben #region Bürgeramt // Programmieren Sie zusätzlich eine Klasse Bürgeramt mit folgenden Eigenschaften // string ort // - Konstruktor, dem der Ortsname und die Anzahl der zu speichernden Personalausweise übergeben werden // - Methode NeuerAusweis: Erhält den Namen, legt einen neuen Pass an, speichert diesen im Feld an der // nächsten freien Stelle und liefert den Personalausweis zurück // - Optional: Methode AllePersos(string teilname): liefert ein Feld passender Größe mit allen // Personalausweisen zurück, die den "teilnamen" enthalten (Tipp: String-Methode contains) // Main: Legen Sie zwei Bürgerämter an (Nürnberg/Fürth) und lassen Sie für Nürnberg mehrere Pässe erzeugen // Optional: Rufen Sie AllePersos mit einem passenden Teilnamen auf und geben Sie diese aus! #endregion namespace _01Buergeramt { class Personalausweis { public string name { get; private set; } int id; static int naechsteId=1000; public Personalausweis(string name) { this.name = name; id = naechsteId++; } public static int NaechsteId { get => naechsteId; set { if (value >= naechsteId) naechsteId = value; else throw new ArgumentOutOfRangeException("Wert muss größer als ... sein"); } } public override string ToString() => $"Name: {name} Id: {id}"; } class Buergeramt { string ort; int anzPersonalausweise; Personalausweis[] ausweise; int aktAnz = 0; public Buergeramt(string ort, int anzahlPersonalausweise) { this.ort = ort; anzPersonalausweise = anzahlPersonalausweise; ausweise = new Personalausweis[anzPersonalausweise]; } public Personalausweis NeuerAusweis(string name) { Personalausweis p = new Personalausweis(name); ausweise[aktAnz++] = p; return p; } public Personalausweis NeuerAusweis(Personalausweis alterPerso) { ausweise[aktAnz++] = alterPerso; return alterPerso; } } class Program { static void Main(string[] args) { Personalausweis p1 = new Personalausweis("Anton"); Console.WriteLine(p1); } } }