» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
הגדרת מחלקות
דף ראשי  מתחילים  הגדרת מחלקות גרסה להדפסה

הגדרת מחלקות

 

 

-  מבוא

-  הקדמה

-  הגדרת מחלקה ב- Java

-  הגדרת מחלקה ב- C++

-  שאלות לסיכום

 


מבוא

סטודנטים בקורס הקדמה לתכנות Java אחראים לידיעת והבנת כל החומר בשעור זה
(חוץ מנושאים ספציפיים ב –
C++).

הנושאים הספציפיים ב – C++ מוצעים כחומר משלים לטובת אלו שמכירים כבר C++
ומבצעים הסבה ל –
Java.

הקדמה

 

טיפוסים חדשים

 

Java ו‑ C++  עושות שתיהן שימוש נרחב במחלקות. בשתי השפות, כאשר מוגדרת מחלקה,
נוצר טיפוס חדש. לאחר מכן ניתן להשתמש בהגדרת הטיפוס החדש על מנת ליצור אובייקט
או מספר אובייקטים מן הטיפוס החדש.

 

Blueprint

 

בשתי השפות, הגדרת המחלקה מספקת template או blueprint, אשר מתארים את הנתונים הכלולים בה ואת התנהגותם של האובייקטים שנוצרים בהתאם לטיפוס החדש.

 

הנתונים

 

הנתונים נמצאים במשתנים המוגדרים במחלקה (הקרויים משתנים, איברי נתונים, או תכונו).

 

ההתנהגות

 

ההתנהגות נשלטת באמצעות מתודות המוגדרות במחלקה
(הקרויות פונקציות חברות במחלקה, או ב‑ ++
C "פונקציות").

 

מצב והתנהגות

 

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

 

מחלקה לעומת הֵדגֵם

בשתי השפות ניתן להגדיר:

 

  • משתני הֵדגֵם ומתודות הֵדגֵם.
  • משתנים סטטיים (משתני מחלקה) ומתודות סטטיות (מתודות מחלקה).

 

משתני הֵדגֵם ומתודות הֵדגֵם ניתנים לגישה רק באמצעות אובייקט של המחלקה.

 

משתני מחלקה ומתודות מחלקה ניתנים לגישה מבלי ליצור תחילה אובייקט של המחלקה.

 

די בשם המחלקה בלבד על מנת לגשת למשתני מחלקה ולמתודות מחלקה, וזאת על-ידי חיבור שם המחלקה לשמו של המשתנה, או שמה של המתודה, מופרדים בנקודה.

 

(++C משתמשת באופרטור scope resolution ( :: ) כאופרטור-מחבר, על מנת לגשת למשתני מחלקה ומתודות מחלקה).

 

הגדרה של מחלקה ב- Java

 

להלן התחביר הכללי להגדרת מחלקה ב‑Java:

 

class MyClassName{
  . . .
} //End of class definition.

 

 

התחביר מגדיר מחלקה ויוצר טיפוס חדש בשם MyClassName.

 

ההגדרות של המשתנים והמתודות נכנסות בין סוגריים צומדים { }.

 

מתכנתים ב‑ ++C נדרשים לשים לב, שב‑Java אין נקודה-פסיק לאחר הסוגר: {
(אם כי הכנסת נקודה-פסיק במקום זה לא תגרום ככל הנראה לבעיה עם המהדר של
JDK 1.1.1).

 

 

הגדרת מחלקה ב- ++C 

 

להלן התחביר הכללי להגדרת מחלקה ב‑ ++C.

 

class MyClassName{
  . . .
}; //End of class definition.  Note the required semicolon.

 

ברמה הנוכחית, התחביר להגדרת מחלקה דומה לכאורה בשתי השפות, מלבד הדרישה לסיים את ההגדרה ב‑ ++C בנקודה-פסיק.
אולם, ישנם הבדלים רבים בתחביר הפנימי של הגדרת המחלקה, ואלה ידונו בהמשך, בשיעורים הבאים.

 

 

שאלות סיכום

 

ש: ציין שניים מבין השמות המקובלים למשתנים, שמוגדרים בתוך מחלקה ב‑Java.

 

ת: משתני הֵדגֵם ותכונות.

 

ש: ציין שניים מבין השמות המקובלים לפונקציות, שמוגדרות בתוך מחלקה ב‑Java.

 

ת: פונקציות חברות במחלקה ומתודות הֵדגֵם.

 

ש: אובייקט נחשב כבעל מצב והתנהגות. בכל נקודה בזמן, מצבו של האובייקט נקבע על-פי הערכים המאוחסנים ב___________ שלו, והתנהגותו נקבעת על-פי ה_________ שלו.

 

ת: משתני ההֵדגֵם, מתודות.

 

ש: איזו מילת מפתח משמשת להפיכת משתנה או מתודה למשתנה-מחלקה או למתודת-מחלקה ב‑Java?

 

ת: static

 

ש: האם ב‑Java ניתן לגשת למשתני הֵדגֵם ולמתודות הֵדגֵם רק באמצעות אובייקט של המחלקה?

 

ת: כן.

 

ש: האם ב‑Java די בשם המחלקה על מנת לגשת למשתנים ולמתודות שלה, וזאת על-ידי חיבור שם המחלקה לשמו של המשתנה או שמה של המתודה כשהם מופרדים בנקודתיים?

 

ת: לא. הנקודתיים משמשות ב‑++C, ואילו ב‑Java משתמשים בנקודה.

 

ש: ציין את התחביר הכללי של הגדרת מחלקה ריקה ב‑Java.

 

ת: class NameOfClass{}

 

ש: האם התחביר להגדרת מחלקה ב‑Java מחייב, כמו ב‑++C, נקודה-פסיק לאחר הסוגר {?

 

ת: Java אינה דורשת שימוש בנקודה-פסיק בסיום הגדרת המחלקה.

 17-12-03 / 18:51  נוצר ע"י רונית רייכמן  בתאריך 
 שאלות לסיכום - הקודםהבא - מתודת ()main 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 7