Hallo!
Ich setzte mich gerade mit OOP auseinander und hätte ein paar Fragen. (Ich wollte mir im FAQ - "Einführungen und erste Schritte" durchlesen - aber ich habe darauf keinen Zugriff - komisch).
Bei meiner Recherche bin ich auf folgende Aussagen gestoßen.
Klasse
Objekte
Abstrakte Klassen
Beziehungen [#12 - Da blicke ich generell nicht durch.]
Vererbung
Kollaboration [#14 - Da blicke ich generell nicht durch.]
Polymorphismus
Hoffe das ihr mir bei meinen Verständnisproblemen helfen könnt - danke!
Ich setzte mich gerade mit OOP auseinander und hätte ein paar Fragen. (Ich wollte mir im FAQ - "Einführungen und erste Schritte" durchlesen - aber ich habe darauf keinen Zugriff - komisch).
Bei meiner Recherche bin ich auf folgende Aussagen gestoßen.
Klasse
- Eine Klasse ist eine Definition und beschreibt einen Typ. [#1 - Was ist mit Typ gemeint?]
- Eine Klasse ist eine Blaupause für ein Objekt/Instanz. [#2 - Die Klasse "girl" wäre sozusagen die Vorlauge für alle Frauen?]
- Wenn wir den Typ verstehen, können wir diese Objekte benutzen. [#3 - was ist damit gemeint?]
- Klassen haben:
- Membervariablen (im Kontext der Objektinstanz)
- Objektmethoden (im Kontext der Objektinstanz)
- Klassen-Methoden und Variablen (statisch)
[#4 - wo liegt der Unterschied bei diesen 4 Punkten]
Objekte
- Ein Objekt kann aus weiteren Objekten bestehen [#5 - wie kann ich das verstehen?]
- Objekt = Instanz [#6 - Stimmt das oder gibt es einen Unterschied?]
- Eine Instanz eines Objektes hat eine Identität [#7 - Sind Instanz und Objekt doch nicht gleich?]
[#8 - Was ist eine Identität?] - Objekte haben Verbindungen zu anderen Objekten [#9 - Wie kann ich mir das vorstellen - Wie kommunizieren Objekte?]
- Objektidentität ist per Default unsichtbar [#10 - Woher kommt die Identität - wie kann ich sie sichtbar machen?]
Abstrakte Klassen
- Definiert das Basisverhalten für mehrere Untertypen.
- Von abstrakten Klassen kanne s keine Objekte geben [#11 - Warum nicht?]
Beziehungen [#12 - Da blicke ich generell nicht durch.]
- Objekte kennen andere Objekte
- Ein Objekt, das von keinem anderen Objekt referenziert wird, existiert nicht!
- Klassenebene: Beziehung
- Objektebene: Verbindung
- Beziehungssemantiken:
- Ganzes-Teil-Beziehung
- Kardinalitäten
Vererbung
- Spezialisierung zwischen Klassen
[#13 - Wo liegt der Unterschied zur abstrakten Klasse?]
Kollaboration [#14 - Da blicke ich generell nicht durch.]
- Objekte kommunizieren mit anderen Objekten
- Objekte können auf Nachrichten reagieren, indem sie
- Zustände auswerten
Instanzvariablen lesen und/oder ändern
Werte von anderen Objekten lesen und/oder ändern - Operationen durchführen
Interne Operationen
Nachrichten an andere Objekte senden - Einen Kontrollfluss beachten
- Objekte erzeugen oder löschen
- Zustände auswerten
Polymorphismus
- Dieselbe Nachricht führt zu unterschiedlichen Umsetzungen! [#15 - Warum?]
- Geerbtes Verhalten wird geändert indem Methoden überschrieben werden [#16 - Warum erbe ich etwas wenn ich es dann überschreibe weil ich damit nichts anfangen kann?]
- Realisierung: dynamisches Binden [#17 - Was ist dynamisches Binden - aus dem Wiki Artikel werde ich auch nicht schlau.]
Hoffe das ihr mir bei meinen Verständnisproblemen helfen könnt - danke!