Menu
Coddy logo textTech

Projektstruktur

Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy. Lektion 62 von 70.

challenge icon

Aufgabe

Einfach

Richten wir das Fundament für dein Library System-Projekt ein! Du erstellst die grundlegende Dateistruktur, die sich in den kommenden Lektionen zu einer vollständigen Bibliotheksverwaltungsanwendung entwickeln wird.

Du organisierst deinen Code über vier Dateien hinweg, von denen jede eine bestimmte Verantwortung hat:

  • Book.cs: Diese Datei enthält dein Book-Modell. Erstelle zunächst eine Book-Klasse im Namespace LibrarySystem mit drei automatisch implementierten Eigenschaften: Title (string), Author (string) und IsAvailable (bool, standardmäßig auf true gesetzt). Füge einen Konstruktor hinzu, der den Titel und den Autor als Parameter entgegennimmt.
  • User.cs: Diese Datei enthält dein User-Modell. Erstelle eine User-Klasse im selben Namespace mit zwei Eigenschaften: Name (string) und MemberId (int). Füge einen Konstruktor hinzu, der beide Werte entgegennimmt.
  • Library.cs: Hier wird deine Kernlogik untergebracht. Erstelle eine Library-Klasse mit einer Name-Eigenschaft (string) und einem Konstruktor, der diese festlegt. Füge eine Methode namens GetInfo() hinzu, die einen String im Format "{Name} Library System Initialized" zurückgibt.
  • Program.cs: Führe hier alles zusammen. Dies ist dein Einstiegspunkt, an dem du Instanzen deiner Klassen erstellst und überprüfst, ob die Struktur korrekt funktioniert.

Du erhältst drei Eingaben:

  • den Namen der Bibliothek
  • einen Bucheintrag im Format title|author
  • einen Benutzereintrag im Format name|memberId

Erstelle eine Library-Instanz mit dem angegebenen Namen, ein Book mit dem bereitgestellten Titel und Autor sowie einen User mit dem bereitgestellten Namen und der Mitglieder-ID. Gib anschließend drei Zeilen aus:

  1. das Ergebnis des Aufrufs von GetInfo() für deine Bibliothek
  2. die Informationen zum Buch im Format Book: {Title} by {Author} - Available: {IsAvailable}
  3. die Informationen zum Benutzer im Format User: {Name} (ID: {MemberId})

Wenn die Eingaben beispielsweise wie folgt aussehen:

City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001

Die Ausgabe sollte wie folgt aussehen:

City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)

Diese Struktur folgt dem Prinzip der Einzelverantwortung – jede Datei kümmert sich um eine bestimmte Aufgabe. In den kommenden Lektionen wirst du diese Klassen um Ausleihlogik, Suchfunktionen und eine vollständige Konsolenschnittstelle erweitern!

Probier es selbst

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Eingaben lesen
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Bucheingabe parsen (Format: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Benutzereingabe parsen (Format: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Erstelle eine Library-Instanz mit dem Bibliotheksnamen

            // TODO: Erstelle eine Book-Instanz mit dem Titel und Autor

            // TODO: Erstelle eine User-Instanz mit dem Namen und der Mitglieds-ID

            // TODO: Gib die Bibliotheksinformationen mit GetInfo() aus

            // TODO: Gib die Buchinformationen im Format aus: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Gib die Benutzerinformationen im Format aus: User: {Name} (ID: {MemberId})
        }
    }
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-C#-Compiler