MezData-Logo

ABI-FAQ

Grundlagenfragen

Erklä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.

Datenkapselung oder das Geheimnisprinzip

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.

Polymorphie

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.

Signatur

"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]

Statische und dynamische Polymorphie

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. 

Neue Fragen vom 18.3

 Welche UML Version verwenden wir?

UML 1.4 siehe oose.de: UML-Notationsübersicht

Welche Diagramm/Schaubildtypen daraus?

Anwendungsfalldiagramm (UseCase), Klassendiagramm, Objektdiagramm, Vererbung, Assoziationen, Sequenzdiagramm, Zustandsdiagramm, Struktogramm.

Welche nicht?

Schnittstellen, Kollaboration, Pakete, Subsysteme, Einsatz- und Verteilungsdiagramm, Aktivitäts- und Objektflussdiagramm, Komponentendiagramme.

Wo gibts ne komplette Übersicht darüber? Vielleicht sogar ne Übersicht über ALLES was mit Gruppe II Schaubild / Tabellen / ... zu tun hat was wir im Abi brauchen...

Siehe oben und eure Formelsammlung.

Was sind die Vorteile von OOP gegenüber funktionaler Programmierung?
(Aber das erreich ich doch auch alles wenn ich diszipliniert arbeite?)

  1. Organisation der Unterprogramme ist übersichtlicher, bessere Struktur.
  2. Geheimnisprinzip erzwingt Zugriff auf Daten über Methoden, dadurch Kontrolle und Möglichkeit Verhalten aus der realen Umwelt nachzubilden.. mehr... => Zen oder die OO-Flasche

Müssen wir objektorientiert programmieren (Struktogramm o.ä.) können?

Ja!

Wie kompliziert?

Listen durchnudeln... Siehe die letzten zwei Abis

Aber Polymorphie ist doch keine Erfindung der OOP, siehe "plus"? Also wieso so wichtig?

Aber die dynamische Polymorphie ist neu..

Gibt es statische Polymorphie auch mit dem Unterscheidungskriterium Rückgabewert bei gleichn Parametern? (Bei Java nicht, in der Theorie?)

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?

Kannst dir vielleicht noch paar komische Aufgaben ausdenken? Denn im Vergleich zu anderen Fächern haben wir für IT echt wenig ...

Allerdings.

Ist Mehrfachvererbung abirelevant?

Nein.

Fragen vom 21. März

Welche Vorteile bietet das Dreischichten Modell?

Leichtere Wartbarkeit und Portierbarkeit. Trennung von Human-Interface und Datenhaltung ermöglicht kostengünstige Weiterentwicklung.

Sind Betriebssysteme / Scheduler / Speicher (hdd, ..) usw relevant?

Ja, aber sicher: BS-Fragen..

Fragen vom 23. März

Müssen wir uns mit der CMOS-Technologie sehr gut auskennen oder reicht nur ein grober Überblick?

Überblick sollte reichen.

Müssen wir die verschiedenen Hazard-Arten kennen? Müssen wir uns überhaupt mit diesem Themenbereich auseinandersetzen?

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...

Fragen vom 28. März

Wir müssen Schaltungen mit RS-, D- und T-Flipflops, aber nicht mit JK-FlipFlops realisieren. Oder?

Keine JK-Dinger!

Welche Schnittstellen müssen wir kennen? (Wir haben mal dieses Thema nur kurz angeschnitten; UART, Centronics und so...)

Seriell, Parallel, USB, IDE, SCSI... Vor allem das Prinzip von seriell und parallel.. Siehe Schieberegister oder serieller Addierer..

RAS/CAS abirelevant?

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.

Könntest du, wenn du ein wenig Zeit und Lust hast uns zu helfen, einen "Fragenkatalog" bis Donnerstag erstellen, der alle Themengebiete abdeckt und das wichtigste Wissen abfragt, erstellen? (á la BS-Fragen)So, dass auch beide Gruppen (I+II) abgedeckt sind... Und wenn Herr Thiessat auch so etwas macht, wäre es echt klasse...

Keine Zeit. Macht selber!

Fragen vom 29. März

Indirekte Adressierung is doch auch sowas bei der MMU memory management unit bei prozessen / betriebssysteme? offset + virtuelle adresse -> reale adresse?

Knirsch, das Rechenprinzip ist bei Feldern ähnlich: Basisadresse des Feldes + offset -> Datenadresse.

Allgemeine Fragen

Ist NTFS relevant?

Eher nein.

Und Shell?

Zum Tanken... Im Ernst - es können allgemeine Fragen auftauchen: Wozu Wasist Werbrauch Wiegeht (Dateien auflisten, im Dateisystem navigieren..)

Was genau ist ein Harald-Automat?

Siehe Lehrerfortbildung zu OO 5/2003 "Zustandsdiagramme" Seite 7 RTFM!

Wie sieht ein Konstruktor im Sequenzdiagramm aus? reichts da wenn ich create() hinschreib oder muss der wie bei Java wie die Klasse heisen?

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 ;-)

Fragen vom 3-4. April

Gruppe II: Statische Polymorphie vs. Dynamische... versteh den Unterschied immer noch nicht, da mir der Nutzen dessen nicht bewusst wird.

Wurde das nicht oben schon beantwortet?

hp03/04g2a2 2.1: "die klasse steuerung besitzt operationen mit versch sichtbarkeiten. erklären Sie [blabla]" alles was vorgegeben ist ist public ... und nun? attribute dazunehmen und unterschied private <-> public?

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.

Wired AND, Wired OR, zu dem thema find ich auf deiner seite nix (roter knubbl) und google spuckt nur sehr mager was aus ... kannst da noch schnell ne zusammenfassung ins forum posten oder so?

Fricke Digitaltechnik S. 38 ;-)

Achtung ist nicht besonders relevant fürs ABI..