Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Methode (Programmierung)

Methoden (englisch method oder member function) sind in der objektorientierten Programmierung Unterprogramme in der Form von Funktionen oder Prozeduren, …

Inhalt5 Abschnitte
  1. 1. Methoden als Verhalten von Objekten
  2. 2. Methodenaufruf und Signatur
  3. 3. Beispiel in C#
  4. 4. Besondere Methodenformen
  5. 5. Virtuelle, statische und die Main-Methode

Methoden als Verhalten von Objekten

Methoden (englisch method oder member function) sind in der objektorientierten Programmierung Unterprogramme in Form von Funktionen oder Prozeduren. Sie beschreiben und implementieren das Verhalten von Objekten und ermöglichen es Objekten, miteinander in Verbindung zu treten.

Objekte enthalten allgemein Attribute und Methoden. Attribute sind Variablen und Konstanten, die Werte aufnehmen und das statische Wesen eines Objekts beschreiben. Methoden charakterisieren dagegen das dynamische Verhalten eines Objekts oder einer Klasse. Sie enthalten die algorithmische Essenz des Objekts und sind Bestandteil der Klassendefinition.

Methodenaufruf und Signatur

Eine Methode kann einen oder mehrere formale Parameter besitzen oder ohne Parameter definiert sein. Ein formaler Parameter ist der Name einer Variablen und wird auch Übergabewert genannt. In vielen Programmiersprachen muss zusätzlich der Datentyp angegeben werden. Dabei kann es sich um elementare Datentypen oder um Klassen und damit um Objekttypen handeln.

Ausgeführt wird eine Methode, wenn sie über ihren Namen mit passenden aktuellen Parametern aufgerufen wird. Die Anweisungen im Methodenrumpf werden mit diesen Übergabewerten ausgeführt. Die Anweisungen laufen von oben nach unten und von links nach rechts ab.

Die Signatur einer Methode wird durch den Methodennamen, die Anzahl, die Art und die Reihenfolge der zuweisungskompatiblen Datentypen ihrer Parameter sowie – falls vorhanden – den Rückgabetyp bestimmt.

Beispiel in C#

Das C#-Beispiel zeigt Methoden in den Klassen Partei, Abgeordneter und Parlament. In den Klammern hinter dem Methodennamen werden die Parameter deklariert; der Datentyp steht vor dem Variablennamen. Der Rückgabetyp steht vor dem Methodennamen. Eine Methode ohne Rückgabewert verwendet den Rückgabetyp void.

Die Methode berechneEinnahmen(double spenden, double sonstigeEinnahmen) der Klasse Partei besitzt zwei Parameter und liefert einen double-Wert zurück. Sie berechnet die Einnahmen mit der Formel mitglieder.Count * mitgliedsbeitrag + spenden + sonstigeEinnahmen.

Die Methode gibPartei() der Klasse Abgeordneter hat keine Parameter und gibt ein Partei-Objekt zurück. In der Klasse Parlament weist wähleVorsitzender(Abgeordneter abgeordneter) den übergebenen Abgeordneten als vorsitzender zu; diese Methode hat keinen Rückgabewert. Die Methode gibAnzahlDerAbgeordneten(Partei partei) zählt mit einer Schleife diejenigen Abgeordneten, deren Partei dem übergebenen Partei-Objekt entspricht, und gibt die Anzahl als int zurück.

Besondere Methodenformen

Konstruktoren sind spezielle Methoden ohne Ergebnistyp. Ihr Name stimmt mit dem Namen der Klasse überein. Sie dienen dazu, Objekte nach einem bestimmten Vorbild zu konstruieren und die Variablen des Objekts zu initialisieren, also ihnen Werte zuzuweisen. Man unterscheidet implizite, vorgegebene, und explizite, selbst erstellte Konstruktoren. In einigen Sprachen, etwa C++, gibt es als Gegenstücke Destruktoren; Java verwendet stattdessen Finalisierungsmethoden.

Beim Überladen besitzen zwei oder mehrere Methoden denselben Namen. Welche Methode ausgeführt wird, hängt von den Parametern des Aufrufs ab: Ausgewählt wird die Methode, deren formale Parameter den tatsächlichen Parametern entsprechen.

Zugriffsmethoden sind normale Methoden, mit denen einzelne Attribute eines Objekts abgefragt oder geändert werden. Üblicherweise tragen sie die Präfixe get beziehungsweise set und heißen besonders in Java getter und setter. In Microsoft Visual FoxPro werden dafür die Bezeichnungen Access- und Assign-Methoden verwendet.

Multimethoden operieren gleichzeitig auf mehreren Parameter-Objekten und können deshalb in mehreren Parametern polymorph sein.

Virtuelle, statische und die Main-Methode

Bei einer virtuellen Methode wird erst zur Laufzeit entschieden, welche konkrete Implementierung verwendet wird. Dieses dynamische Binden ermöglicht es, Methoden zu überschreiben beziehungsweise zu überladen. Ein Compiler kann virtuelle Methoden beispielsweise mit virtuellen Tabellen umsetzen.

Objekt- oder Instanzmethoden werden von einem konkreten Objekt ausgeführt und können auf den Zustand dieser konkreten Instanz zugreifen. Statische Methoden oder Klassenmethoden werden ohne ein Objekt ausgeführt und arbeiten nur mit Eigenschaften der Klasse.

In Java setzt die main-Methode den Startpunkt eines Programms. Beim Programmstart existieren zunächst Klassen, aber noch keine Objekte. Klassen mit einer main-Methode sind ausführbare Klassen, weil die Java Virtual Machine diese Methode direkt aufruft. Beim Aufruf java Beispielklasse versucht die Laufzeitumgebung, in der Klasse Beispielklasse eine Methode mit dem Namen main, dem Rückgabetyp void und einem Stringarray als Parameter zu finden und auszuführen. Die typische Form lautet public static void main(String[] args). Die main-Methode ist damit ein Beispiel für eine statische Methode.

Lernvideos zu Methode (Programmierung)

Weiterlesen

Objektorientierte Programmierung Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin … Funktion (Programmierung) Eine Funktion (englisch function) ist in der Informatik und in verschiedenen höheren Programmiersprachen die Bezeichnung eines Programmkonstrukts, … Objekt (Programmierung) Ein Objekt in der Programmierung bezeichnet eine inhaltlich zusammengehörige Datenmenge: In der objektorientierten Programmierung wird eine Objektinstanz … Attribut (Programmierung) Ein Attribut (von lateinisch attribuere ‚zuteilen', ‚zuordnen'), auch Eigenschaft genannt, gilt im Allgemeinen als Merkmal, Kennzeichen, Informationsdetail … Variable (Programmierung) In der Programmierung ist eine Variable ein abstrakter Behälter für einen Wert, der bei der Ausführung eines Computerprogramms auftritt. Klasse (Objektorientierung) Die Klasse dient als Bauplan für die Abbildung von realen Objekten in Softwareobjekte und beschreibt Attribute (Eigenschaften) und Methoden (Verhaltensweisen) … Parameter (Informatik) Parameter – (deutsch) auch Übergabewerte genannt – sind in der Informatik Variablen, durch die ein Computerprogramm (oft ein Unterprogramm) auf die … Programmiersprache Bei deklarativen Programmiersprachen ist der Ausführungsalgorithmus schon vorab festgelegt und wird nicht im Quelltext ausformuliert/beschrieben, sondern es … Deklaration (Programmierung) In der Informatik und Programmierung ist eine Deklaration die Festlegung von Dimension, Bezeichner, Datentyp und weiteren Aspekten einer Variable oder eines … Datentyp Die Konkretisierung der Operationsmenge führt zu Abstrakten Datentypen beziehungsweise Algebraischen Strukturen. Mit der weiteren Konkretisierung der … Anweisung (Programmierung) Anweisungen sind üblicherweise Zuweisungen, Kontrollanweisungen (wie Sprünge, Schleifen und bedingte Anweisungen) und Prozeduraufrufe. Abhängig von der … Signatur (Programmierung) Signaturen spielen eine Rolle bei der Polymorphie, einem der grundlegenden Konzepte der Objektorientierung. In vielen Programmiersprachen kann eine Methode …