לא יודע אם זה המקום- שאלה בJAVA

TNTal6

New member
לא יודע אם זה המקום- שאלה בJAVA

מישהו יכול להסביר לי בשתי מילים מה זה מעטפות בג'אווה? אנחנו לומדים בג'אווה בין היתר על הסיפרייה AWT ואני פספתי את השיעורים על המעטפות. מישהו בבקשה יכול להסביר לי מה זה בקצרה? צירפתי CLASS לדוגמא שהמורה שלי כתבה כחלק מפרויקט. הטיפוס MyShape מכיר את התכונות X וY שהם נק' במישור. אין לי מושג מה Canvas אומר. class Maatafa extends Canvas //wrapper for MyShape { MyShape sh; public Maatafa(MyShape a) { sh=a; } public Maatafa() {} public void paint(Graphics g) { sh.draw(g,this); } public Dimension getPreferredSize() { return new Dimension(50,50); } }
 

1ca1

New member
קנבאס היא מחלקה שהמחלקה מעטפה מרחיבה

אני לא מבין בדיוק למה אתה מתכוונת במעטפות (אולי wrappers? זה לא בדיוק "מעטפות" בתרגום חופשי), אבל זהו.
 

TNTal6

New member
אתה יכול להסביר לי למה זה משמש?

כשאני אומר מעטפות אני מתכוון wrappers. המורה שלי החליטה לקרוא לזה מעטפות. עולה חדשה נו...
 

1ca1

New member
זה בא בכמה רמות

השימוש האמיתי של זה במציאות זה להעברת פרימיטביים כאובייקטים ממש לכל מיני שימושים (למשל לVector), לכך נוצרו למשל Integer,Double וכו', אבל זה בא בילט-אין בג'אווה. תיאורטית אפשר לחשוב על זה כאיזושהי design pattern, אבל מחוץ לפרימיטיביים, הכל יורש מObject ואין הרבה טעם לעשות wrapper למחלקה שלך http://en.wikipedia.org/wiki/Primitive_wrapper_class בכל אופן, למיטב ידיעתי העובדה עם wrappers נהייתה אוטומטית (מכניסים ומציאים אוטומטית), אז אין הבדל. כעקרון זה מעין סוג של design pattern, למרות שזה לא ב gang of four, כי אין לזה למעשה שימוש אמיתי בשפות שבהן יש ירושה מהobject (כמו ג'אווה), לפאטרנים יותר טובים, שכנראה ישרתו יותר את טוב את העיצוב שלך, http://en.wikipedia.org/wiki/Design_Patterns נ.ב. זאת שאלה לפורום שפות תכנות
 
למעלה