Buch- und Benutzerklassen
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 56 von 64.
Aufgabe
EinfachIn dieser Herausforderung implementierst du die Klasse Book für ein Bibliotheksverwaltungssystem mithilfe einer Struktur mit mehreren Dateien und einer umfassenden Testabdeckung.
Bearbeite book.py, um die Klasse Book gemäß den TODO-Kommentaren zu implementieren. Die Implementierung sollte:
- Mit den Parametern für Titel, Autor und ISBN initialisiert werden
- Den Verfügbarkeitsstatus und die Informationen zum Ausleiher verfolgen
- Eine korrekte String-Darstellung implementieren
Probier es selbst
from book import Book
# 1. Erstelle ein Book-Objekt
book = Book("1984", "George Orwell", "345678")
# 2. Attribute prüfen
print(book.title) # Sollte ausgeben: 1984
print(book.author) # Should print: George Orwell
print(book.isbn) # Sollte ausgeben: 345678
print(book.available) # Sollte ausgeben: True
print(book.borrower) # Sollte ausgeben: None
# 3. Teste __str__, wenn verfügbar
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Test __str__ when not available
book.available = False
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Not AvailableAlle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktormethode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDie super()-FunktionMethodenüberschreibungMehrfachvererbungMethodenauflösungsreihenfolgeWiederholung – Mitarbeiterhierarchie7Spezielle Methoden
Einführung in magische MethodenOperatorüberladungMagische Methoden für ContainerRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformBankensystemEntwicklung von SpielfigurenFahrzeugvermietungsservice2Dekoratoren
Einführung in DekoratorenProperty-DekoratorDekorator für statische MethodenDekorator für Klassenmethoden5Polymorphie
Methodenüberschreibung erneut betrachtetDuck-TypingAbstrakte Klassen und MethodenSchnittstellendesignRückblick – Formrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische Methoden und KlassenmethodenKlassen-DekoratorenKontextmanager3Klassenattribute
Instanz- vs. KlassenvariablenProperty-DecoratorsPrivate AttributeWiederholung – Bankkontoverwaltung6Kapselung
Öffentliche, geschützte, private MemberZugriffsmodifikatorenInformationsverbergungProperty-Decorators – FortgeschrittenWiederholung – System zur Verwaltung von Studentendaten12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und BenutzerklassenAusleihsystemSuchfunktionAdministrationsoberflächeTests und IntegrationÜbe selbstständig: Online-Python-Compiler