נעסוק ב:
Class Icon
המכיל את שם המחלקה:

הסמל יכול להכיל:
-
תכונות (attributes),
כאשר תכונה יכולה להיות מתארת ע"י:
שם שלה בלבד,
class
שלה בלבד,
או שם ו- class
וביטוי ברירת מחדל.
-
פעולות (operations)
כאשר פעולה יכולה להיות מתוארת ע"י שם שלה בלבד או פירוט
המחלקה המחזירה (return class),
שם וארגומנטים אם יש.
דוגמא:

איור- דוגמא למחלקה
association- קשר
דו-כיווני סמנטי בין שתי מחלקות |
 |
inheritance- יחס בין
מחלקת העל,
superclass
ומחלקת הבן, subclass
שלה |
 |
has-
יחס בין השלם, ה- whole
וחלקיו, parts |
 |
using- יחס
בין לקוח, client
וספק, server
שהלקוח תלוי בשירותו |
 |
כמו-כן ניתן
להוסיף ליחס (relationship
adornments):
שמות תפקידים (role
names)
להוספת בהירות.
עצמה (cardinality)
-
מספר הפעמים ש
class יכול להופיע ביחס.
תג (label).
החבר (association)
ל- class המתאר את המבנה וההתנהגות של היחס עצמו.
צירוף מחלקות (class categories):
צירוף מחלקות
לחלוקת המודל הלוגי של מערכת. הצירוף מכיל מחלקות וצירופי מחלקות אחרות.
Parameterized
Class- מחלקה המשמשת
כדפוס, template, למחלקות אחרות |
 |
Instantiated Class-
מחלקת דפוס
שהפרמטרים שלה מולאו וע"י כך התקבלה השמה (instantiation)
שלה
|
 |
metaclass היא מחלקה שההשמות שלה הן מחלקות (מחלקה "המייצרת" מחלקות) |
 |
Class Utility-
מחלקה
ש:
-מציינת תוכניות
פרוצדוראליות (דהיינו לא OO)
הקשורים למערכת
-שיש
בה רק משתני members
סטטיים
|
 |
Nesting
(שיכון)
מחלקות יכולים
להיות משוכנות במחלקות אחרות וכןclass categories
ב- categories
אחרים |
 |
Notes
(הערות)
תיאור מילולי של
הנחות או החלטות שניתן להוסיף למודל
|
 |
containment by value- עצם אחד מהחלקה שבקצה העגול מכיל ממש עצם אחר מהמחלקה שבקצה המרובע- אורכי
החיים של שני עצמים אלו תלויים זה בזה |
|
containment by reference- עצם אחד מהמחלקה שבקצה העגול מכיל מצביע או הפניה לעצם אחר מהמחלקה שבקצה
המרובע- אורכי החיים של שני עצמים אלו אינם תלויים זה בזה
|
 |
instantiation-
השמה של מחלקת הדפוס, ה- parameterized class
|
 |
abstract class-
מחלקה שאין לה השמות |
|
static class- מחלקת המקור היא הבעלים של מחלקת היעד
|
 |
friend class- מחלקת המקור מאפשרת גישה לחלקיה הפרטיים למחלקת היעד
|
 |
virtual class-
תיאור הורשה וירטואלית, דהיינו עותק של מחלקת הבסיס המשותפת |
 |
public-
מנשק (interface) הנראה (visible)
לכל המחלקות, העצמים והמודולים האחרים.
protected-
מנשק (interface)
הנראה (visible)
רק ל-
subclasses
וחברים.
private-
מנשק שלא נראה לשום מחלקה,
עצם או מודול אחר.
implementation- שימוש
במחלקת היעד כחלק מהיישום של מחלקת המקור.

לסעיף הבא- תרשים עצמים...

