פייתון/פייתון גרסה 3/אוביקטיים ושיתופם
< פייתון | פייתון גרסה 3
ההגדרות ב-INIT שאינם שדות משותפים לכל האויבקטים בעוד השדה עצמו הוא יחודי לאוביקט עצמו:
class Cats:
class Cats:
def __init__(self):
self.x = 1
Cats.legs = 4
print('new cat')
def add_leg(self):
self.x = self.x + 1
Cats.legs = Cats.legs + 1
return self.x + Cats.legs
miki=Cats()
lopi=Cats()
print(miki.add_leg())
print(lopi.add_leg())
>>>new cat
>>>new cat
>>>7
>>>8
תחילה ה-INIT תודפס בשל יצירת שני האוביקטיים ולכן מודפס פעמים "new cat".
לאחר מכן קראנו לפונקציה add_leg. מספר הרגלים של החתולים השתנה ל5 עבור כלל החתולים, ואילו ערך x השתנה עבור החתול miki לבדו, מאחד לשתים. על כן הפונקציה החזירה 2+5 ובשל הקריאה להדפסה מודפס המספר 7.
עתה משקראנו לחתול השני, מספר רגליו כבר 5 אך ערך ה-X שלו זהה לערך הקודם. עתה הוספנו לכל אחד מהערכים אחד ולכן קבלנו שמספק הרגלים הוא 6 ואילו ערך ה-X הוא 2. לען הפונקציה תדפיס 8