Methode: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Die Seite wurde neu angelegt: „== Einstieg == Objekte bestehen aus Attributen und Methoden. Attribute sind nur Variablen und Konstanten, die Werte aufnehmen können, und beschreiben damit den Zustand des Objektes. Im Gegensatz dazu gibt es die „Methoden“, die das dynamische Verhalten des Objektes oder einer Klasse definieren. Sie enthalten die Algorithmen eines Objektes. Methoden sind in der Ob…“ |
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
Der Kopf einer Methode besteht aus der [[Sichtbarkeit]] und der [[Signatur]]. | Der Kopf einer Methode besteht aus der [[Sichtbarkeit]] und der [[Signatur]]. | ||
=== Sichtbarkeit === | ==== Sichtbarkeit ==== | ||
Die Sichtbarkeit gibt an, wer auf die Methode zugreifen darf. | Die Sichtbarkeit gibt an, wer auf die Methode zugreifen darf. | ||
==== private ==== | ===== private ===== | ||
Die Sichtbarkeit private besagt, dass nur innerhalb einer [[Klasse]] bzw. [[Instanz]] auf eine Methode zugegriffen werden darf. | Die Sichtbarkeit private besagt, dass nur innerhalb einer [[Klasse]] bzw. [[Instanz]] auf eine Methode zugegriffen werden darf. | ||
==== public ==== | ===== public ===== | ||
Die Sichtbarkeit public macht die Methode öffentlich zugänglich. Hier gibt es keine Einschränkung. | Die Sichtbarkeit public macht die Methode öffentlich zugänglich. Hier gibt es keine Einschränkung. | ||
==== protected ==== | ===== protected ===== | ||
Die Sichtbarkeit protected ermöglicht den Zugriff innerhalb der [[Klasse]] selbst, aller Klassen eines [[Package|Packages]] (im [[Projekt]]) und ihrer [[Vererbung|erbenden]] Kinderklassen. | Die Sichtbarkeit protected ermöglicht den Zugriff innerhalb der [[Klasse]] selbst, aller Klassen eines [[Package|Packages]] (im [[Projekt]]) und ihrer [[Vererbung|erbenden]] Kinderklassen. | ||
==== default ==== | ===== default ===== | ||
Wird keine Angabe zur Sichtbarkeit gemacht, können alle Klassen eines Packages (im [[Projekt]]) zugreifen. | Wird keine Angabe zur Sichtbarkeit gemacht, können alle Klassen eines Packages (im [[Projekt]]) zugreifen. | ||
=== Signatur === | ==== Signatur ==== | ||
Eine Signatur (oder Methodensignatur) definiert in der Programmierung die Schnittstelle einer Methode. Sie besteht aus dem Typ des [[Rückgabeparameter|Rückgabewerts]], dem Namen der Methode und der Anzahl und Reihenfolge der [[Eingabeparameter]]. | Eine Signatur (oder Methodensignatur) definiert in der Programmierung die Schnittstelle einer Methode. Sie besteht aus dem Typ des [[Rückgabeparameter|Rückgabewerts]], dem Namen der Methode und der Anzahl und Reihenfolge der [[Eingabeparameter]]. | ||
=== Rückgabeparameter === | ==== Rückgabeparameter ==== | ||
Der Rückgabeparameter definiert den (Daten)-Typen möglicher Ergebnisse dieser Methode. Das Ergebnis wird aus dem [[Körper]] der Methode mittels eines return-Befehls (return) zurückgegeben. Möglich sind [[Primitive Datentypen|primitive Datentypen]] wie Integer, Double oder Boolean aber auch [[Komplexe Datentypen|komplexe Datentypen]]. Komplexe Datentypen könne ein beliebige [[Klassen]] sein wie z.B. Mitarbeiter. | Der Rückgabeparameter definiert den (Daten)-Typen möglicher Ergebnisse dieser Methode. Das Ergebnis wird aus dem [[Körper]] der Methode mittels eines return-Befehls (return) zurückgegeben. Möglich sind [[Primitive Datentypen|primitive Datentypen]] wie Integer, Double oder Boolean aber auch [[Komplexe Datentypen|komplexe Datentypen]]. Komplexe Datentypen könne ein beliebige [[Klassen]] sein wie z.B. Mitarbeiter. | ||
Zeile 37: | Zeile 37: | ||
Soll ein Methode kein Ergebnis liefern muss das Schlüsselwort ''void'' geschrieben werden. | Soll ein Methode kein Ergebnis liefern muss das Schlüsselwort ''void'' geschrieben werden. | ||
=== Methodenname === | ==== Methodenname ==== | ||
Der Methodenname ist freiwählbar. In der objektorientierten Softwareentwicklung ist es üblich Methodennamen mit einem Verb zu benennen. Hierdurch wird deutlich, dass die Methode Verhalten repräsentiert. So ist der Quelltext leichter zu lesen und zu verstehen. | Der Methodenname ist freiwählbar. In der objektorientierten Softwareentwicklung ist es üblich Methodennamen mit einem Verb zu benennen. Hierdurch wird deutlich, dass die Methode Verhalten repräsentiert. So ist der Quelltext leichter zu lesen und zu verstehen. | ||
=== Eingabeparameter === | ==== Eingabeparameter ==== | ||
Um eine Methode flexibel und wieder verwendbar zu gestalten, können von außen Werte an Variablen übergeben werden. Diese Variablen nennt man [[Eingabeparameter]]. Möglich sind 0 bis N Variablen. Jede Variable muss [[Deklaration|deklariert]] werden; benötigt also einen [[Datentyp]] und einen Namen. Die einzelnen Variablen werden durch Kommas getrennt. Die gesamte Eingabeparameterliste wird in runde Klammern geschrieben (), egal ob sie null oder n Parameter enthält. Wie beim Rückgabeparameter können primitive und komplexe Datentypen vergeben werden. | Um eine Methode flexibel und wieder verwendbar zu gestalten, können von außen Werte an Variablen übergeben werden. Diese Variablen nennt man [[Eingabeparameter]]. Möglich sind 0 bis N Variablen. Jede Variable muss [[Deklaration|deklariert]] werden; benötigt also einen [[Datentyp]] und einen Namen. Die einzelnen Variablen werden durch Kommas getrennt. Die gesamte Eingabeparameterliste wird in runde Klammern geschrieben (), egal ob sie null oder n Parameter enthält. Wie beim Rückgabeparameter können primitive und komplexe Datentypen vergeben werden. | ||
== Körper == | === Körper === | ||
Der Körper einer Methode folgt auf den Kopf und wird in geschweiften Klammern geschrieben {}. Im Körper - also innerhalb der geschweiften Klammern - kann ein beliebiger [[Algorithmus]] stehen. Wurde in der Signatur ein Rückgabeparameter definiert (also nicht ''void''), dann muss in jedem Fall ein zum Datentyp des Rückgabeparameters kompatible Rückgabe erfolgen. Die Rückgabe wird im Körper durch das Schlüsselwort ''return'' kenntlich gemacht. | Der Körper einer Methode folgt auf den Kopf und wird in geschweiften Klammern geschrieben {}. Im Körper - also innerhalb der geschweiften Klammern - kann ein beliebiger [[Algorithmus]] stehen. Wurde in der Signatur ein Rückgabeparameter definiert (also nicht ''void''), dann muss in jedem Fall ein zum Datentyp des Rückgabeparameters kompatible Rückgabe erfolgen. Die Rückgabe wird im Körper durch das Schlüsselwort ''return'' kenntlich gemacht. | ||