Die Art und Weise, sich dadurch zu arbeiten, zu realisieren, das sind Worte, die man erst
mal, wenn man noch lernt, gar nicht kennt, die aber sehr spezifische Bedeutung haben.
Und auch viel, das in dieser Vorlesung kommt, ist auf der einen Seite aus meiner Sicht grundlegend
und sollten Sie wissen, zum Teil aber gar nicht so gut in Lehrbüchern verarbeitet,
weswegen wir als Leseinhalt auch meistens Artikel haben. Heute recht bodenständig steigen wir ein
mit Methodentypen und Methodeneigenschaften, also wenn man so möchte noch recht klein auf
der Ebene einzelner Methoden. Der Methodentyp hier ist die Beschreibung oder Klassifikation
des Arts, der Art oder des Typs einer Methode und man definiert Methoden, die Typen von Methoden
nach dem Zweck, den eine Methode hat. Nicht nach Eigenschaften, das kommt später, wie zum Beispiel
Sichtbarkeit, das wäre eine Eigenschaft, sondern nach Zweck zum Beispiel ein Befehl auszuführen
oder eine Information auf einem Objekt zurückzugeben. Damit sind die Methodentypen auch
immer auf genau eine Funktion ausgerichtet und eine gute Methode hat somit auch einen Typ.
Natürlich kann man Methoden auch mehr überladen und sie mehrere Dinge machen lassen, aber im
Allgemeinen gilt es zu einer Mehrfachbelegung als schlechter Programmierstil, weil Sie auf Code
draufgucken wollen, die Methode angucken wollen und sagen, ja das ist der Zweck und nicht,
ach das sind die 13 Zwecke dieser Methode. Es gibt drei wesentliche Kategorien von Methodentypen.
Es gibt die Abfrage, Anfrage, Methoden, Query Methods im Englischen. Es gibt die Befehle,
also es gibt die verändernden Methoden, Mutations Methoden, Mutation Methods und dann gibt es noch
Methoden, die weder Information, also eine Query Method, eine Anfrage Methode, gibt natürlich
Informationen über das Objekt zurück und dann Mutation Method, die verändert den Zustand eines
Objektes und dann gibt es noch eine dritte Kategorie Hilfsmethoden, die weder eine bestimmte
Information zurückgeben über das konkrete angefragte Objekt, auf dem die Methode definiert
ist, noch den Zustand dieses Objektes verändern, also klassische Utility Methoden und auch davon
gibt es mehrere. Also von all diesen drei großen Kategorien gibt es jetzt unterschiedliche
Methodentypen. Die können statisch sein, aber statisch oder nicht statisch ist eine Methodeneigenschaft
und nicht ein Zweck. Ein Zweck zum Beispiel für Hilfsmethoden werden Zusicherungsmethoden sein,
um ein Beispiel vorweg zu nehmen, das heißt, die haben die Aufgabe zum Beispiel eine Zusicherung
auszuführen, also sicherzustellen. Kommt alles am Beispiel. Es ist dann so, dass Methodentypen,
die werden wir jetzt halt definieren, dann aber wenn sie gut definiert sind, mit bestimmten
Eigenschaften kommen, nämlich dass sie zum Beispiel eine klare Namensgebung haben. Ein
Beispiel kennen sie alle, den Methodentyp GETTER oder GET-Methode. Offensichtlich ist die
Namenskonvention, dass dort vielleicht die Methode mit GET beginnen sollte und dann das
der Name des Feldes üblicherweise folgt, dessen wir zurückgegeben werden sollen. Und dann sehen
wir auch, dass Methodentypen häufig mit bestimmten Implementierungsstrukturen, also einer inneren
Struktur der Methoden verbunden sind. So, das haben wir jetzt gesagt, also Abfragenmethoden,
Query Methods geben Informationen über ein Objekt zurück, sollten aber nicht parallel den Zustand
des Objekts verändern. Wie gesagt, eine Methode sollte einen Zweck haben, eine Anfrage Methode hat
den primären Zweck, Informationen über das Objekt zurückzugeben und jetzt dann auch noch nebenbei
den Zustand zu verändern, gilt im Allgemeinen nicht als schlechter Stil. Heißt nicht, dass es
nicht Idiome oder Ausnahmesituationen gibt, wo man das vielleicht doch macht, aber im Allgemeinen
gilt es erstmal als schlechten Stil, wenn eine Methode, die klarer Kennen bei Informationen zurückgibt,
plötzlich auch noch den Zustand eines Objekts verändert. Mutation Methods, wie gesagt, verändern
den Zustand des Objektes und die klare Empfehlung ist, diese sollten dann nicht noch Informationen
über das Objekt zurückgeben. Das mag vielleicht auf den ersten Blick etwas kontroverser sein,
warum sollten die dann immer void sein, also keinen Rückgabewert haben, naja, um diese saubere
Trennung herbeizuführen. Die grundsätzliche Aussage ist, Methodentypen helfen, wenn man sie dann
versteht und dann auch weiß, was sich hinter den Namenskonventionen dann für Methodentypen verbergen.
Methodentypen helfen, die Lesbarkeit von Code zu erhöhen und dort ist möglichst mit der Maßgabe
möglichst lesbaren Code zu produzieren, ist die Aussage, möglichst wenig tippen zu müssen,
irrelevant. Das heißt, Sie haben eine Mutation Method, die ändert den Zustand des Objektes und
Presenters
Zugänglich über
Offener Zugang
Dauer
01:23:44 Min
Aufnahmedatum
2019-11-04
Hochgeladen am
2019-11-07 10:39:03
Sprache
de-DE