Menu
Coddy logo textTech

מחלקות לעומת אובייקטים

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Python של Coddy. שיעור 3 מתוך 64.

מחלקות ואובייקטים משרתים מטרות שונות. מחלקה היא תבנית, ואילו אובייקט הוא מה שבונים על סמך התבנית הזאת.

הנה דוגמה למחלקה:

class Dog:
	# משותף לכל הכלבים
    species = "Canis familiaris"

כעת נוכל לגשת ישירות למאפיין המחלקה באמצעות Dog.species, כאשר Dog הוא שם המחלקה:

print(f"Class species: {Dog.species}")
# מין המחלקה: Canis familiaris

פעולה זו ניגשת לנתונים של המחלקה עצמה, ולא של אובייקט מסוים.

עכשיו נחקור איך זה עובד עם אובייקטים. צרו אובייקטים מהמחלקה Dog:

dog1 = Dog()
dog2 = Dog()

לאובייקטים יכולים להיות מאפיינים אישיים שאין למחלקות:

dog1.name = "Nicky"
dog1.breed = "Siberian Husky"

dog2.name = "Teemon" 
dog2.breed = "Shu'ali"

השוו בין מה שמחלקות ואובייקטים יכולים לעשות:

print(f"Object 1: {dog1.name} is a {dog1.breed}")
print(f"Object 2: {dog2.name} is a {dog2.breed}")
print(f"Both share class attribute: {Dog.species}")

פלט:

Object 1: Nicky is a Siberian Husky
Object 2: Teemon is a Shu'ali
Both share class attribute: Canis familiaris

ההבדל העיקרי: המחלקה Dog מגדירה את המאפיינים המשותפים לכל הכלבים, בעוד שהאובייקטים dog1 ו-dog2 מייצגים כלבים מסוימים ואינדיבידואליים בעלי מאפיינים ייחודיים.

challenge icon

אתגר

קל

השלם את הקוד כדי ליצור מחלקה Student ושני אובייקטים של תלמידים. הוסף לכל תלמיד שם וציון שונים.

  • student.py: כאן תגדיר את המחלקה Student שלך.
  • driver.py: קובץ ההרצה הראשי שייבא את מחלקת Student שלך וישתמש בה:

    השלם את הקוד כדי ליצור מחלקה Student ושני אובייקטים של תלמידים. הוסף לכל תלמיד שם וציון שונים.

    שם student1 הוא "Alice" והציון שלו הוא "A".

    שם student2 הוא "Bob" והציון שלו הוא "B".

נסו בעצמכם

# ייבא את המחלקה Student
from student import Student

# TODO: צור שני אובייקטים של תלמידים


# TODO: הוסף תכונות ל-student1


# TODO: הוסף תכונות ל-student2


# הדפס מידע על התלמידים
print(f"{student1.name} has grade {student1.grade} at {Student.school}")
print(f"{student2.name} has grade {student2.grade} at {Student.school}")
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Python אונליין