Besteht eine Klasse (Objekt) aus mehreren Klassen (Objekten) so nennt man diese
Verbindung der Klassen (Objekte) Aggregation. Aggregation ist eine spezielle
Form der Assoziation.
Siehe: Assoziation Komposition
Objekte, die miteinander in Verbindung stehen (sich also "kennen"), können
untereinander Nachrichten austauschen. Diese Verbindung wird als Assoziation
bezeichnet.
Siehe: Aggregation Komposition
Siehe: Oberklasse
Die Generalisierung beschreibt die Beziehung zwischen einer generelleren Kasse zu
einer spezielleren Klasse. Die Beziehung wird durch Vererbung
hergestellt. Die speziellere Klasse erbt dabei von der generelleren Klasse.
Siehe: Vererbung
Unter High Cohesion wird der innere Zusammenhalt einer Klasse beschrieben; inwiefern haben die enthaltenen Methoden / Variablen miteinander zu tun. Sind Methoden / Variablen enthalten die mit der Klasse nichts oder nur wenig zu tun haben handelt es sich dort nicht um High Cohesion.
Mit der Bezeichnung High Cohesion - Low Coupling werden zwei Grundprinzipien der objektorientierten Designs zusammengefasst. Sind beide Prinzipien gegeben ist dies ein Anzeichen für ein gutes objektorientiertes Design.
High Cohesion - Low Coupling bezeichnet dementsprechend ein Design, das einen hohen inneren Zusammenhalt bei geringer Abhängigkeit zur Außenwelt aufweist.
Siehe: Vererbung
Unter Kapselung wird verstanden, dass eine Klasse die Implementierung nach außen verbirgt. Von außen ist nur die notwendige, öffentliche Schnittstelle sichtbar.
Die Kardinalität gibt an wie viele Objekte jeweils zueinander in Beziehung stehen können.
Komposition ist eine strengere Form der Aggregation. Die untergeordneten
Objekte sind abhängig vom Ganzen.
Siehe: Aggregation Assoziation
Eine abgeleitete Klasse enthält alle Eigenschaften der Oberklasse. Dementsprechend kann die abgeleitete Klasse überall da eingesetzt werden, wo die Oberklasse erwartet wird.
Let q(x) be a property provable about objects x of type T.
Then q(y) should be true for objects y of type S where S is a subtype of T.
A Behavioral Notion of Subtyping, Barbara Liskov und Jeannette Wing
Siehe auch:
http://de.wikipedia.org/wiki/Liskovsches_Substitutionsprinzip
http://en.wikipedia.org/wiki/Liskov_substitution_principle
Unter Coupling versteht man, inwieweit eine Klasse von seiner Umgebung abhängig ist. Unter Low Coupling versteht man also, dass eine Klasse möglichst unabhängig von ihrer Umgebung ist.
Eine Oberklasse vererbt Methoden und/oder Attribute an eine oder mehrere Unterklassen.
Andere Bezeichnungen für Oberklasse sind:
Eine Sonderstellung nimmt der Begriff "Basisklasse" ein, der oft
auch für die oberste Klasse einer Vererbungshirachie verwendet wird.
Die Oberklasse ist eine Generalisierung der Unterklasse. Die Unterklasse ist eine
Spezialisierung der Oberklasse.
Akronym für: Objekt Oriented Analysis (objektorientierte Analyse).
Methodische Vorgehensweise zur Identifizierung von Klassen und Objekten
zur Beschreibung einer Problemstellung. Neben der Identifizierung werden
die Attribute und Methoden der Klassen / Objekte bestimmt.
Die zu verwendende Programmiersprache spielt während
der objektorientierten Analyse keine Rolle.
Akronym für: Object Oriented Design (objektorientiertes Design).
Beim objektorientierten Design wird festgelegt, wie Klassen (Objekte) miteinander
in Interaktion treten, um die vorgegebene Problemstellung zu lösen.
Das objektorientierte Design wird meistens unter
Zuhilfenahme der UML-Notation erstellt. Die zu verwendende Programmiersprache muss
beim Design des Systems berücksichtigt werden.
Akronym für: Object Oriented Programming (objektorientierte Programmierung).
Unter der objektorientierten Programmierung wird die konkrete Umsetzung eines
objektorientierten Designs unter zu Hilfename einer Programmiersprache verstanden.
Unter Polymorphie versteht man die Möglichkeit, dass Objekte auf den Aufruf einer Methode unterschiedlich reagieren können. Die Objekte tun in der Regel etwas Ähnliches auf unterschiedliche Weise. Erreicht wird dieses Verhalten durch Überschreiben einer Methode aus einer Vaterklasse bzw. die Objekte implementieren eine Methode aus einer Schnittstellendefinition unterschiedlich.
Separation of Concerns (dt. Trennung der Anliegen) ist ein Prinzip in der objektorientierten Softwareentwickung.
Separation of Conerns besagt, dass die Aufgaben eines objektorientierten Softwaresystems (auch der Teilsysteme) in verschiedene Module, gemäß den Aufgaben, aufgeteilt werden soll. In einem objektorientiertem Softwaresystem sollen z.B. die Präsentationslogik, die Verarbeitung des Inhaltes und die Interaktion mit dem Anwender in verschiedene Module aufgeteilt werden.
Das Single Responsibility Principle (SRP) (dt. Prinzip der einzigen Verantwortung) ist ein Prinzip in der objektorientierten Softwareentwickung.
SRP besagt, dass eine Klasse genau für eine Sache verantwortlich sein soll. Eine Klasse sollte demnach nicht für mehr und nicht für weniger verantwortlich sein. Ziel ist es, einfach zu wartende Klassen zu entwickeln.
Eingeführt wurde das Prinzip von Robert C. Martin im Artikel SRP: The Single Responsibility Principle mit der Umschreibung THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE (dt. Es sollte nie mehr als einen Grund für die Änderung einer Klasse geben).
Die Spezialisierung beschreibt die Beziehung zwischen einer generelleren Kasse zu
einer spezielleren Klasse. Die Beziehung wird durch Vererbung
hergestellt. Die speziellere Klasse erbt dabei von der generelleren Klasse.
Siehe: Vererbung
Siehe: Unterklasse
Superklasse
Siehe: Oberklasse
Eine Unterklasse erbt Methoden und/oder Attribute von einer Oberklasse.
Die Unterklasse
kann diese Methoden verändern (überschreiben) und somit ihr Verhalten verändern.
Durch Hinzufügen weiterer Methoden/Attribute kann das Verhalten der Objekte
dieser Klasse verfeinert werden.
Andere Bezeichnung für Unterklasse:
Die Oberklasse ist eine Generalisierung der Unterklasse. Die Unterklasse ist eine
Spezialisierung der Oberklasse.
Siehe: Oberklasse
Bei der Vererbung werden Methoden und Attribute einer Klasse (Oberklasse) an eine andere Klasse
(Unterklasse) vererbt. Diese Methoden und Attribute werden nur einmal definiert und
können von beiden Klassen verwendet werden. Die Subklasse kann
die vererbten Methoden und Attribute überschreiben und somit ihr
Verhalten verändern. Weiterhin können Methoden hinzugefügt werden, womit
die Klasse verfeinert wird.
Die Oberklasse ist eine Generalisierung der Unterklasse. Die Unterklasse ist eine
Spezialisierung der Oberklasse.