פייתון היא שפת תכנות מבוססת עצם. כיתות ואובייקטים בפייתון הם הבנים היסודיים של שפת התכנות של פייתון.
כיתה בפייתון
עד כה, יש לכם כבר מידע על סוגי נתונים בפייתון. אם אתם זוכרים, סוגי נתונים בסיסיים בפייתון מתייחסים רק לסוג נתונים אחד בכל פעם. איך יהיה אם תוכלו להצהיר על סוג נתונים שבעצמו מכיל יותר מסוג נתונים אחד ויכול לעבוד איתם בעזרת כל פונקציה? כיתת פייתון נותנת לך את ההזדמנות הזו. כיתת פייתון היא התוכנית המסורת עליה יש ליצור אופסות של הכיתה.
הצהרת כיתה פשוטה בפייתון
כאן יש מבנה בסיסי מאוד של הגדרת כיתה בפייתון.
class ClassName:
# רשימת משתני כיתה בפייתון
# בנאי כיתה בפייתון
# הגדרות פעולות כיתה בפייתון
כעת, בואו נעבוד עם דוגמאות חיוניות.
#הגדרת המחלקה מתחילה כאן
class Person:
#איתחול המשתנים
name = ""
age = 0
#הגדרת בנאי
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
#הגדרת שיטות המחלקה
def showName(self):
print(self.name)
def showAge(self):
print(self.age)
#סיום הגדרת המחלקה
# יצירת אובייקט של המחלקה
person1 = Person("John", 23)
# יצירת אובייקט נוסף באותה מחלקה
person2 = Person("Anne", 102)
# קריאה לשיטות החבר של האובייקטים
person1.showAge()
person2.showName()
דוגמה זו די מוסברת בעצמה. כפי שאנו יודעים, השורות שמתחילות ב"#" הן הערות בפייתון. ההערות מסבירות את השלבים הניתנים לביצוע הבאים. קוד זה מייצר את הפלט הבא.
הגדרת מחלקת פייתון
class Person:
שורה זו מסמנת את תחילת ההגדרה של המחלקה עבור מחלקת 'Person'.
משתנים של מחלקת פייתון
#איתחול המשתנים
name = ""
age = 0
'שם' ו'גיל' הם שני משתנים חברים של מחלקת 'Person'. בכל פעם שאנו מצהירים על אובייקט של מחלקה זו, הוא יכיל את שני המשתנים הללו כחבריו. חלק זה אופציונלי מאחר וניתן לאתחול אותם על ידי הבנאי.
בנאי כיתת Python
#הגדרת בנאי
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
בנאי של כיתת Python הוא הקטע הראשון של קוד שיתבצע כאשר אתה יוצר אובייקט חדש של הכיתה. בעיקרו, הבנאי נמצא לשימוש בהכנסת ערכים למשתני החבר. תוכל גם להדפיס הודעות בבנאי כדי לוודא שהאובייקט נוצר. נלמד עוד הרבה יותר על תפקידו המורחב של הבנאי כשנתעסק בירושה ב-Python. שיטת הבנאי מתחילה עם `def __init__`. לאחר מכן, הפרמטר הראשון חייב להיות 'self', מכיוון שהוא מעביר הפניה להפעלה של הכיתה עצמה. ניתן גם להוסיף פרמטרים נוספים כמו שמוצג בדוגמא. 'personName' ו-'personAge' הם שני פרמטרים שיש להעביר כאשר אובייקט חדש יוצר.
שיטות כיתת Python
#הגדרת שיטות כיתת Python
def showName(self):
print(self.name)
השיטות מוגדרות באופן הבא:
def method_name(self, parameter 1, parameter 2, …….)
statements……..
return value (if required)
בדוגמא שצוינה מראש, ראינו שהשיטה showName()
מדפיסה את ערך ה-'name' של האובייקט. נדבר עוד הרבה על שיטות Python בעתיד.
אובייקט כיתת Python
# יצירת אובייקט של הכיתה
person1 = Person("Richard", 23)
# יצירת אובייקט נוסף מאותו סוג של כיתה
person2 = Person("Anne", 30)
# קריאה לשיטות החבר של האובייקטים
person1.showAge()
person2.showName()
הדרך שבה נוצרים אובייקטים ב-Python היא פשוטה מאוד. בתחילה, אתה שם את שם האובייקט החדש, אחריו יופיע אופרטור ההקצאה ושם הכיתה עם הפרמטרים (כפי שהוגדרו בבנאי). חשוב לזכור שמספר וסוג הפרמטרים צריכים להיות תואמים לפרמטרים שמתקבלים בפועל בפונקציית הבנאי. כשהאובייקט נוצר, ניתן לקרוא לשיטות החבר שלו ולגשת למאפייני החבר (בתנאי שהם נגישים).
# הדפסת השם של person1 על ידי גישה ישירה למאפיין 'name'
print(person1.name)
זהו כל מה שיש לדעת על היסודות של כיתת Python. כשנלמד על יכולות מתקדמות יותר של תכנות עם אובייקטים ב-Python, כמו ירושה ופולימורפיזם בשיעורים הבאים, נלמד עוד על כיתות Python והתכונותיהן. עד אז, כידרוך שלא, קוד נעים ולהתראות! אל תהסס להגיב אם יש לך שאלה. התייחסות: תיעוד Python.org
Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects