Class concept Flashcards

1
Q

מהי מחלקה?

A

מחלקה מייצגת קבוצת עצמים בעלי מבנה והתנהגות משותפים

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

מהם מאפייני המחלקה?

A

אספקט דינמי:
פרוטוקול
התנהגות

אספקט סטטי:
מבנה - הצהרה על השדות

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

מדוע מצב וזהות אינם חלק מאבסטרקציית המחלקה?

A

מצב וזהות נקבעים בזמן ריצה.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

מהם 5 חלקי המחלקה?

A

Forge: creation requirements
- Signatures of accessible constructors
Mill: creation process
- Constructor bodies
Protocol: communication patterns
- Signatures of accessible fields and methods
Behavior: communication effect
- Method bodies
Structure: underlying means to achieve behavior
- Memory layout and contents of an object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

האם בשפות דינמיות (למשל, סקוויק) יש

forge, protocol?

A

לא. בשפות דינמיות הטיפוס לא ידוע בזמן קומפילציה ולכן אין פרוטוקול כי לא ידוע אילו הודעות האובייקט יודע לקבל.
no forge in squeak because objects are created via new which is just another message.

behavior and mill exist because the implementation is there.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

מהם 3 תפקידי המחלקה?

A
  1. מתכון ליצירת אובייקטים
  2. חוזה בין המחלקה לבין המשתמשים שלה (אילו הודעות ניתן להעביר) לא קיים בשפות דינמיות כי אין פרוטוקול
    בשפות סטטיות משמש לאכיפה בשמן הידור שה ההודעות הנשלחות לעצמים מהמחלקה.
  3. אובייקט המייצג אובייקטים אחרים (קיים רק בשפות של 3 רמות ומעלה)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what are the two principles of reflection?

A
  1. every object is an instance of a class

2. every class has an object that represents it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly