אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2021 · קיץ מועד ב · שאלה 3כל שאלות המבחן ←
תכנות מונחה עצמיםתרשימי UML

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

public static void main(String[] args)
{
    B b1 = new A();
    B b2 = new C();
    A a1 = (C) b2;
    D d1 = new C();
    B b3 = new B();
    D d2 = new A();
}
סעיף א

שרטטו תרשים UML המתאר קשר אפשרי ונכון בין כל המחלקות המוזכרות בקוד (ראו code_context) — בהנחה שכל 6 השורות תקינות (מתקמפלות ורצות ללא שגיאה).

סעיף ב

הניחו כי השורה האחרונה בקוד (D d2 = new A();) מבצעת המרה לא תקינה (המחשב מודיע על טעות), וכל שאר החמש השורות עדיין תקינות. שרטטו תרשים UML חדש המתאר את הקשרים הנכונים במקרה זה, בין כל המחלקות המוזכרות בקוד.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי