:OOP: ABI-FAQErklären Sie die grundlegenden Konzepte des OO-Designs: Klasse, Objekt, Assoziation, Nachricht:
Klasse -kann aus Attributen, Methoden und Assoziationen auf Klassen bestehen, dient als Vorlage zur Erzeugung von Objekten.
Objekte -sind Laufzeitelemente, die über Assoziationen (Objektverbindungen) Nachrichten austauschen, Attribute sind Datenspeicher. Attributwerte und empfangene Nachrichten bestimmen das Verhalten des Objekts.
Nachricht -Aufruf einer Operation des Nachrichtenempfängers.
Beschreiben Sie, wie das UML-Klassendiagramm und das UML-Sequenzdiagramm zusammenhängen:
Objekte werden von einem Klassendiagramm abgeleitet. Den Nachrichtenaustausch über Assoziationen von Objekten über die Zeit zeigt das Sequenzdiagramm an. Es können im SD nur Objekte miteinander kommunizieren, deren Klassen im Klassendiagramm mit Assoziationen verbunden sind. Die Rollennamen an den Assoziationen im KD müssen mit den Objektnamen im SD übereinstimmen.
Sprich die Public, Private und Protectet Geschichte. Somit kann man Attribute und Methoden öffentlich oder eben nicht öffentlich sichtbar machen bzw. weiterverben oder nicht. Da man auf die "unsichtbaren" nur über Methoden zugreifen kann ist es z.B. egal wie die Attribute heisen.
Vielgestaltigkeit: Überladen von Methoden -selber Name andere Funktion. Beispiel Plus-Funktion wird einmal mit Integer-Parametern ein anderes Mal mit Float-Parametern aufgerufen. Es gibt zwei Methoden namens Plus, die sich in ihrer Signatur unterscheiden.
"Der Compiler kann anhand der Signatur, das ist das Aufrufmuster, unterscheiden welche Flaschen-Methode gemeint ist.
Die Signatur ist der Name einer Methode zusammen mit der Reihenfolge und den Typen der Parameter."
[Quelle: http://mezmedia.de/oop/04-06-04_zen-oof/index.html]
Statisch: Zum Zeitpunkt des Compilierens ist bekannt welche Methode aufgerufen werden soll.
Dynamisch: Erst zur Laufzeit kann die passende Methode ermittelt werden, Prinzip der späten Bindung.
Zur späten Bindung kommt es eigentlich erst durch die Vererbung, in einer Sub-Klasse gibt es eine neue Version einer Methode mit der selben Signatur wie in der Ober-Klasse. Die Methode der Sub-Klasse überschreibt die Methode der Ober-Klasse.
Beispiel: Es gibt eine abstrakte Oberklasse "Figuren" aus dieser werden Unterklassen erzeugt "Kreis", "Rechteck" und "Dreieck". Alle 3 Unterklassen erben von der Oberklasse die Methode "zeichnen ( )". Beim konkreten aufrufen der Methode "zeichnen ()" kommt es dann zu unterschiedlichen Ergebnissen.
UML 1.4 siehe oose.de: UML-Notationsübersicht
Anwendungsfalldiagramm (UseCase), Klassendiagramm, Objektdiagramm, Vererbung, Assoziationen, Sequenzdiagramm, Zustandsdiagramm, Struktogramm.
Schnittstellen, Kollaboration, Pakete, Subsysteme, Einsatz- und Verteilungsdiagramm, Aktivitäts- und Objektflussdiagramm, Komponentendiagramme.
Siehe oben und eure Formelsammlung.
Ja!
Listen durchnudeln... Siehe die letzten zwei Abis
Aber die dynamische Polymorphie ist neu..
Theoretisch könnte man das machen, aber was wäre mit so einem Ausdruck: 3 + 2.0 * f(2.3) f gäbe es mit dem Rückgabetyp GZ und FKZ. Welchen Typ soll der Compiler nehmen?
Allerdings.
Nein.
Leichtere Wartbarkeit und Portierbarkeit. Trennung von Human-Interface und Datenhaltung ermöglicht kostengünstige Weiterentwicklung.
Ja, aber sicher: BS-Fragen..
Überblick sollte reichen.
Nach meinem Kenntnisstand nicht. Gut, man sollte schon wissen was das ist und wie es zustande kommt: Unterschiedliche Gatterlaufzeiten können zu kurzfristigen Pegelschwankungen am Ausgang eines Schaltnetzes führen, bis nach einer bestimmten Zeit der Ausgang stabil ist...
Keine JK-Dinger!
Seriell, Parallel, USB, IDE, SCSI... Vor allem das Prinzip von seriell und parallel.. Siehe Schieberegister oder serieller Addierer..
Prinzip und Bedeutung sollte verstanden sein. Statt z.B. 20 Adressleitungen werden halt 10 verwendet und mit RAS und CAS die Zeilen und Spalten angesprochen.
Keine Zeit. Macht selber!
Knirsch, das Rechenprinzip ist bei Feldern ähnlich: Basisadresse des Feldes + offset -> Datenadresse.
Eher nein.
Zum Tanken... Im Ernst - es können allgemeine Fragen auftauchen: Wozu Wasist Werbrauch Wiegeht (Dateien auflisten, im Dateisystem navigieren..)
Siehe Lehrerfortbildung zu OO 5/2003 "Zustandsdiagramme" Seite 7 RTFM!
Wir Java! -> Konstruktor heist wie Klasse: Spider myspider = new Spider(); Im Sequenzdiagramm schreibt man für die Delphi- und Pascal- Leute freundlicherweise noch ein <<create>> drunter, dann wissen die auch worum es geht. Nebenbei -kann man in Delphi den Creator create() noch mal zum ReInitialisieren aufrufen ;-)
Wurde das nicht oben schon beantwortet?
Bei der Aufgabe fehlte noch eine Methode -berechneRueckgeld() der Klasse Steuerung. Wurde den Schülern vor der Prüfung bekannt gegeben.
Lösung: Die privaten Operatoren können nur von einem Klassenobjekt selbst aufgerufen werden. Über die öffentlichen Operationen können auch Botschaften von anderen Objekten an das Klassen-Objekt gesendet werden, sofern eine Assoziation zum Klassen-Objekt besteht.
Fricke Digitaltechnik S. 38 ;-)
Achtung ist nicht besonders relevant fürs ABI..
© Oliver Mezger