Select Git revision
-
Uwe Wienkop authoredUwe Wienkop authored
Program.cs 2.97 KiB
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);
}
}
}