סקירת הפרויקט
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Python של Coddy. שיעור 55 מתוך 64.
אתגר
בינוניבאתגר הזה, תממשו את הבסיס למערכת ניהול ספרייה.
ערכו את library.py כדי לממש את המחלקות הנדרשות בהתאם להערות TODO. קובץ מנהל ההתקן מכיל תרחישי בדיקה נרחבים המאמתים את המימוש שלכם.
- פעלו לפי הערות TODO ב־
library.pyלקבלת הנחיות שלב אחר שלב - ממשו את המחלקה
Libraryעם אתחול וייצוג מחרוזתי מתאימים
נסו בעצמכם
from library import Library
# מנגנון מקיף לטיפול במקרי בדיקה
test_case = input()
if test_case == "basic_library_creation":
library_name = "Test Library"
library = Library(library_name)
print(library)
elif test_case == "library_attributes":
library = Library("Test Library")
print(f"Name: {library.name}")
print(f"Books: {len(library.books)}")
print(f"Users: {len(library.users)}")
elif test_case == "multiple_libraries":
library1 = Library("Library 1")
library2 = Library("Library 2")
print(library1)
print(library2)
elif test_case == "empty_name":
library = Library("")
print(library)
elif test_case == "special_characters":
library = Library("!@#$%^&*()")
print(library)
elif test_case == "very_long_name":
long_name = "A" * 100
library = Library(long_name)
print(library)
elif test_case == "add_books_users":
library = Library("Test Library")
library.books.extend(["Book1", "Book2", "Book3"])
library.users.extend(["User1", "User2"])
print(library)
elif test_case == "empty_lists":
library = Library("Test Library")
print(f"Books length: {len(library.books)}")
print(f"Users length: {len(library.users)}")
elif test_case == "type_validation":
library = Library(123)
print(library)כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםהפרמטר selfמתודותמאפייניםשיטת הבנאי (__init__)חזרה: מחשבון פשוט5פולימורפיזם
בחינה מחדש של דריסת מתודותטיפוסיות ברווזמחלקות ומתודות אבסטרקטיותעיצוב ממשקיםסיכום – מחשבון צורות8מושגים מתקדמים בתכנות מונחה עצמים
קומפוזיציה לעומת הורשהMixinsמתודות סטטיות ומתודות מחלקהדקורטורים למחלקותמנהלי הקשרתרגלו בעצמכם: קומפיילר Python אונליין