Zusatzaufgabe: Polymorphie mit Attributen

EIDI-Crashkurs 2020 Zusatzaufgabe: Polymorphie mit Attributen

Ansicht von 6 Beiträgen - 1 bis 6 (von insgesamt 6)
  • Autor
    Beiträge
  • #3388 Antworten
    Stanislav

    Hallo Stefan,

    kannst du bitte , wenn du Zeit hast, Schritt für Schritt ( mit Erklärung warum usw. ) noch mal die Objektdiagramm zu der Zusatzaufgabe für Polymorphie mit Attributen uns zeigen ? Es wäre mega hilfreich, weil ich irgendwie nicht darauf komme und bin nicht sicher, ob ich das richtig verstanden hab .. . 

    Vielen Dank ! 

    #3390 Antworten
    Stanislav

    Hey, Stefan

    wäre auch mega schön ,wenn du Photo/Erklärung zu der Objektdiagramm von der Zusatzaufgabe: Polymorphie mit parametrisierten Klassen  hochlädst.

    Vielen Dank !   

    #3395 Antworten

    Ich habe jetzt zusätzlich zu den Lösungen noch Diagramme hinzugefügt. Unter den Pfeilen steht außerdem, wegen welchem Statement der jeweilige Pfeil eingezeichnet werden musste. Die Statements sind farbig hinterlegt, sodass du erkennen kannst, durch welches Statement welches Objekt erzeugt wurde. Für ausführlichere Erklärungen habe ich momentan leider zu wenig Zeit, sonst wären die Aufgaben auch im Skript.

    #3396 Antworten
    Stanislav

    Vielen vielen Dank, Stefan. Das reicht perfekt ! 

    #3435 Antworten
    Tim

    Hallo Stefan, danke für das Diagramm. Ich habe eine Frage dazu: Wenn ich jetzt einen Aufruf  b.a.a.(irgend eine Methode) hätte. Woher weis ich dann, welches a ich nehmen muss? Das a welches dynamisch/statisch BC oder das a welches dynamisch/statisch AB ist? Hoffe ich habe mich nicht zu umständlich ausgedrückt! Danke dir schonmal!!!

    #3440 Antworten

    Wenn du b.a.a.foo() hättest, dann benötigst du den statischen und dynamischen Typ von b.a.a, um die Methode foo() aufzurufen. Dazu gehen wir von links nach rechts: b ist statisch B und dynamisch B, also suchen wir in unserem B-Objekt erstmal ein Attribut a, um b.a zu bestimmen. Dieses Attribut a muss aus B (oder einer Oberklasse von B) kommen, welches wir hier finden (das ist das einzige a in dem B-Objekt). b.a ist somit statisch B, dynamisch C (das obere der beiden Cs). Wir suchen also in dem oberen C-Objekt ein Attribut a, um b.a.a zu bestimmen. Dieses Attribut a muss aus B (oder einer Oberklasse von B) kommen, welches wir hier finden – das ist das Attribut aA. Das aC sehen wir nicht, da der statische Typ B ist. Der statische Typ von b.a.a ist somit B, der dynamische C (das untere der beiden).

Ansicht von 6 Beiträgen - 1 bis 6 (von insgesamt 6)
Antwort auf: Antwort #3440 in Zusatzaufgabe: Polymorphie mit Attributen

Deine Nachricht und Pseudonym (Name) sind für alle einsehbar (Datenschutz).

Deine Information: