Klasy Book i User
Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 56 z 64.
Wyzwanie
ŁatwyW tym wyzwaniu zaimplementujesz klasę Book na potrzeby systemu zarządzania biblioteką, korzystając ze struktury wieloplikowej i kompleksowego pokrycia testami.
Edytuj plik book.py, aby zaimplementować klasę Book zgodnie z komentarzami TODO. Implementacja powinna:
- Inicjalizować obiekt za pomocą parametrów title, author i ISBN
- Śledzić status dostępności i informacje o wypożyczającym
- Implementować prawidłową reprezentację tekstową
Spróbuj swoich sił
from book import Book
# 1. Utwórz obiekt Book
book = Book("1984", "George Orwell", "345678")
# 2. Sprawdź atrybuty
print(book.title) # Powinno wypisać: 1984
print(book.author) # Powinno wypisać: George Orwell
print(book.isbn) # Powinno wypisać: 345678
print(book.available) # Powinno wypisać: True
print(book.borrower) # Powinno wypisać: None
# 3. Przetestuj __str__, gdy książka jest dostępna
print(book) # Powinno wypisać: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Przetestuj __str__, gdy książka jest niedostępna
book.available = False
print(book) # Powinno wypisać: 1984 by George Orwell (ISBN: 345678) - Not AvailableWszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektyParametr selfMetodyAtrybutyMetoda konstruktora (__init__)Powtórzenie – prosty kalkulator4Dziedziczenie
Podstawy dziedziczeniaFunkcja super()Nadpisywanie metodDziedziczenie wielokrotneKolejność rozwiązywania metodPodsumowanie – hierarchia pracowników7Metody specjalne
Wprowadzenie do metod magicznychPrzeciążanie operatorówMagiczne metody kontenerówPowtórka – własna lista10Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec Strategy2Dekoratory
Wprowadzenie do dekoratorówDekorator propertyDekorator metody statycznejDekorator metody klasowej5Polimorfizm
Ponowne omówienie nadpisywania metodTypowanie kaczeKlasy i metody abstrakcyjneProjektowanie interfejsówPodsumowanie — kalkulator kształtów8Zaawansowane koncepcje programowania obiektowego
Kompozycja a dziedziczenieMiksyMetody statyczne i klasoweDekoratory klasMenedżery kontekstu11Wzorce projektowe, część 2
Wzorzec PolecenieWzorzec AdapterWzorzec DekoratorWzorzec Metoda szablonowaWzorzec StanWzorzec Kompozyt3Właściwości klas
Zmienne instancji a zmienne klasoweDekoratory właściwościAtrybuty prywatnePowtórzenie — menedżer kont bankowych6Hermetyzacja
Public, Protected, Private — pamięćModyfikatory dostępuUkrywanie informacjiDekoratory właściwości — zaawansowanePodsumowanie — system ewidencji uczniów12Projekt: System zarządzania biblioteką
Przegląd projektuKlasy Book i UserSystem wypożyczeńFunkcja wyszukiwaniaInterfejs administratoraTestowanie i integracjaPoćwicz samodzielnie: Kompilator Python online