המשמעות של this ב – C# ו – Java

להלן שאל, קוד (C# או Java)  מתוך בחינת בגרות במדעי המחשב לכיתה יא (מדעי המחשב א'):

במחלקה "תכשיט" (Jewel) יש שתי תכונות: מחיר התכשיט – price מטיפוס שלם,
ו – האם התכשיט מזהב, isGold, מטיפוס בוליאני.
בעבור תכשיט מזהב ערך isGold הוא true, אחרת isGold הוא false.
במחלקה Jewel שתי מחלקות בונות.
להלן המחלקה Jewel:

 

C#:

 

Java:

א. כתוב ב – Java  או ב – C# את גוף הפעולה המסומנת ב – *.
ב. כתוב ב – Java  או ב – C# את גוף הפעולה המסומנת ב – **.

הפתרון ב C#

נציג את הפתרון ב C# (הקוד כמעט זהה ב Java).

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

מהי המשמעות של המילה this בתוכנית  ?

המילה השמורה this

המילה this בשפות מבוססות עצמים (object oriented) היא מילה שמורה בשפה (בדומה למילה if או למילה for).
תפקידה הוא לבחור את העצם המסויים מתוך קבוצת העצמים השייכים למחלקה.

דוגמא:
נביט בקוד הבא:

הקוד יוצר שלושה עצמים מסוג המחלקה Jewel.
הפעולה הבונה הראשונה מופעלת בשתי השורות הראשונות, והפעולה הבונה השנייה מופעלת בשורה השלישית.
כאשר נוצר העצם המוצבע ע"י jewel1, ומופעלת פעולת הבנאי הראשונה, צריך לאתחל את תכונת price של אותו האובייקט, זה שבאמצעותו הופעלה פעולת הבנאי, ולא אחד משני האחרים. המילה this עושה זאת (האובייקט הזה, זה שבאמצעותו מופעלת הפעולה.

 


כתיבת תגובה

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