מחלקות
עד היום דיברנו על סוגי טיפוסים\משתנים מסוגים שונים
Int,double float string ועוד
אבל מה קורה כשאנחנו רוצים ליצור עצמים,או טיפוסים מורכבים שיש להם כמה משתנים,
הטיפוסים שאני מדבר עליהם לדוגמא סטודנט הרי לכל סטודנט יש לו שם,שם משפחה ת.ז טלפון מגמת לימוד, נושאים נלמדים,ציונים ועוד הרבה משתנים
טיפוס אחר לדוגמא רופא רופא יש לו גם שם שם משפחה,התמחות, כתובת טלפון זמני קבלה ועוד…
2 הדוגמאות האלה הם דוגמאות לטיפוסים מורכבים, שבשביל להגדיר אותם או לבנות אותם אנו לא יכולים לעשות זאת דרך אחד הטיפוסים שלמדנו עד כה אלא צריך לאגד טיפוסים אלה תחת מעטפה אחת.
בשביל לדעת איך לעשות זאת בואו נקח לשם הדוגמה רכב
לטיפוס כמו רכב יש כל מיני מאפיינים וכל מני
תכונות, למעשה לכל עצם יש גם מאפיינים וגם התנהגויות
בדוגמה של הרכב
מאפייניו(פרטים או מידע) של רכב צבע, אורך,סוג,שנת ייצור,מנוע דגם וכדו’
התנהגויות של הרכב למשל התנהגות שמדפיסה את צבע הרכב או התנהגות שמדפיסה את שנת הייצור של הרכב וכדו’
בישביל ליצור התנהגויות ומאפיינים תחת מעטפה אחת,למעשה עלינו ליצור טיפוס מורכב שניתן ליצור אותו מהטיפוסים הראשונים שהכרנו ואת ההתנהגויות שלו ניצור דרך פונקציות, המעטפה שתחתיה ניצור את המאפיינים וההתנהגויות
נקראת מחלקה,
ליצירת מחלקה נשתמש במילה השמורה class ולאחריה ניתן שם למחלקה שמתחיל באות גדולה,
ניתן להגדיר את המחלקה בתוך התכנית או בקובץ נפרד על ידי לחיצה
project
add class
האופציה המועדפת עלי היא בקובץ נפרד
מאפייני הטיפוס או העצם מיוצגים במחלקה ע”י
שדות
והתנהגויות הטיפוס מיוצגים ע”י
פונקציות(מתודות)
אז בואו ניצור מחלקה של רכב ונתקדם משם
בשביל ליצור מחלקה אנחנו משתמשים כאמור במילה השמורה CLASS לאחר מכן ניתן לשם
של המחלקה חייב(לא המלצה) חייבת להיות האות הראשונה אות גדולה
ועכשיו נתחיל להגדיר את המחלקה לפי הצרכים שלנו, או לפי מאפייני המחלקה שאנו צריכים, נקראים גם שדות
למשל במחלקת רכב שנבנה אנו יכולים להגדיר מאפיינים
מותג רכב
סוג רכב
צבע רכב
שנת ייצור
ארץ ייצור ויש עוד המון מאפיינים
את המאפיינים מומלץ ונהוג להגן עליהן מגישה ישירה, לכן נגדירם כ PRIVATE ולא PUBLIC
לשם הדוגמה אני בחרתי ב3 מאפיינים
אגב אם לא נרשום PUBLIC לפני כל שדה ולא ניתן אז הרשאת ברירת המחדל הינה INTERNAL שזה כמו PRIVATE(על הרשאות אלה נדבר בהזדמנות אחרת בסרטון אחר)
ראו תמונה
לאחר המאפיינים נהוג ליצור לכל מחלקה בנאי,שמטרתו לאתחל את מאפייני(פרטי) המחלקה\האובייקט
כמובן לא חייבים לבנות בנאי כי אם לא נבנה בנאי המערכת תיצור בנאי ברירת מחדל
ניתן לבנות כמה בנאים שאנו רוצים אך אף פעם לא נוכל לבנות 2 בנאים זהים השונה בין הבנאים הוא במספר הפרמטרים(השדות\המאפיינים) וסוגם.
למעשה בנאי הוא סוג פרטי של פונקציה שקודם כל השם של הבנאי חייב להיות זהה לשם המחלקה ושנית הבנאי אף פעם לא מחזיר ערך
כמו כל פונקציה צריך לתת לה הרשאה(PUBLIC) ומייד אחר כך את השם שכאמור חייב להיות זהה למחלקה ובין סוגריים
את הפרמטרים שהיא מקבלת ראו בתמונה שני בנאים אחד שלא מקבל פרמטרים והשני מקבל 3 פרמטרים כמובן שיכולנו לבנות עוד בנאים אבל לשם הדוגמה הסתפקנו בשני בנאים
כמו כן ניתן לבנות מטודות
ניתן לבנות מטודה שמדפיסה את אחד מפרטי הרכב
ראן דוגמה ל3 התנהגויות שבניתי למחלקה
כיוון שהגדרנו את שדות המחלקה כ פרטיות ע”מ למנוע גישה ישירה לשדות, אז עלינו למצוא דרך בטוחה שתבטיח נגישות לשדות אלה מבחוץ תוך בקרה על המידע.
הדרך הזאת נקראת פעולות אחזור
או SET ו GET או PROPIRTIES
ראו בתמונה דוגמה שבניתי לאחד השדות תוך בקרה