www.wikidata.de-de.nina.az
Methoden englisch method oder member function sind in der objektorientierten Programmierung Unterprogramme in der Form von Funktionen oder Prozeduren die das Verhalten von Objekten beschreiben und implementieren Uber die Methoden des Objekts konnen Objekte untereinander in Verbindung treten Inhaltsverzeichnis 1 Definition 2 Methodenaufruf 3 Beispiel 4 Spezielle Arten von Methoden 4 1 Konstruktormethoden 4 2 main Methode in Java 4 3 Uberladen von Methoden 4 4 Zugriffsmethoden 4 5 Multimethoden 4 6 Virtuelle Methoden 4 7 Statische Methoden 5 Literatur 6 Einzelnachweise 7 WeblinksDefinition BearbeitenDas Kernstuck jeder objektorientierten Programmierung bildet das Objekt Allgemein kann man sagen dass Objekte Attribute und Methoden enthalten Dabei sind Attribute nur Variablen und Konstanten die Werte aufnehmen konnen und beschreiben damit das statische Wesen des Objektes Im Gegensatz dazu gibt es die Methoden die das gesamte dynamische Verhalten des Objektes oder einer Klasse charakterisieren Sie enthalten die algorithmische Essenz des Objektes In der objektorientierten Programmierung sind Methoden Teil der Definition einer Klasse Methodenaufruf BearbeitenIn der Definition einer Methode konnen ein oder mehrere formale Parameter festgelegt werden mit denen die Methode aufgerufen werden kann Es gibt auch Methoden ohne Parameter Ein formaler Parameter ist der Name einer Variablen und wird auch Ubergabewert genannt In vielen Programmiersprachen ist zusatzlich die Deklaration der Datentypen dieser Variablen notig Diese Datentypen konnen elementare Datentypen oder Klassen also Objekttypen sein Die Methode wird ausgefuhrt wenn sie uber den Methodennamen und passende aktuelle Parameter angesprochen wird Die Anweisungen im Methodenrumpf werden dann mit diesen Ubergabewerten ausgefuhrt Diese Anweisungen werden von oben nach unten und von links nach rechts ausgefuhrt Der Name der Methode sowie die Anzahl Art und Reihenfolge der zuweisungskompatiblen Datentypen der Parameter und falls vorhanden der Ruckgabetyp definieren die Signatur der Methode Beispiel BearbeitenDas folgende Beispiel in der Programmiersprache C zeigt die Methoden berechneEinnahmen gibPartei wahleVorsitzender und gibAnzahlDerAbgeordneten die von den Klassen Partei Abgeordneter und Parlament definiert werden Die Parameter werden in den Klammern hinter dem Namen der Methode deklariert Der Datentyp steht jeweils vor dem Namen der Variablen Der Ruckgabetyp steht vor dem Namen der Methode Bei Methoden ohne Ruckgabewert wird der Ruckgabetyp void angegeben class Partei List lt Person gt mitglieder double mitgliedsbeitrag Methode mit zwei Parametern und mit Ruckgabewert double berechneEinnahmen double spenden double sonstigeEinnahmen return mitglieder Count mitgliedsbeitrag spenden sonstigeEinnahmen class Abgeordneter Partei partei Methode ohne Parameter und mit Ruckgabewert Partei gibPartei return partei class Parlament List lt Abgeordneter gt abgeordnete new List lt Abgeordneter gt Abgeordneter vorsitzender int maximalGroesse Methode mit einem Parameter und ohne Ruckgabewert void wahleVorsitzender Abgeordneter abgeordneter vorsitzender abgeordneter Methode mit einem Parameter und mit Ruckgabewert int gibAnzahlDerAbgeordneten Partei partei int anzahl 0 foreach Abgeordneter abgeordneter in abgeordnete if abgeordneter gibPartei partei anzahl return anzahl Spezielle Arten von Methoden BearbeitenKonstruktormethoden Bearbeiten Hauptartikel Konstruktoren und Destruktoren Konstruktoren sind spezielle Methoden ohne Ergebnistyp deren Name mit dem Namen der Klasse ubereinstimmt Man muss also anfangen Methoden in dem Kontext zu betrachten in dem sie gebraucht werden bzw definiert sind Wie der Name vermuten lasst dienen Konstruktoren dem Erschaffen Konstruieren von Objekten nach einem gewissen Vorbild Weiterhin kann man zwischen impliziten vorgegebenen und expliziten selbst erstellten Konstruktoren unterscheiden Konstruktoren erfullen die Aufgabe die Variablen des Objekts zu initialisieren d h ihnen einen Wert zuzuweisen Als Gegenstucke zu den Konstruktoren gibt es in einigen Sprachen wie C auch Destruktoren In Java gibt es stattdessen Finalisierungsmethoden main Methode in Java Bearbeiten Methoden konnen in der Programmiersprache Java nur dann ausgefuhrt werden wenn sie von einem Objekt aufgerufen werden Diese Objekte mussen aber vorher erzeugt werden Wenn ein Programm gestartet wird gibt es zuerst aber nur Klassen und noch keine Objekte Irgendwo muss der Anfang gesetzt werden und das passiert in Java mit der main Methode Klassen die eine main Methode enthalten sind ausfuhrbare Klassen da die main Methode direkt von der Java Virtual Machine aufgerufen wird Beispielsweise sorgt der Aufruf java Beispielklasse dafur dass die Laufzeitumgebung versucht in der Klasse Beispielklasse eine Methode mit Namen main Ruckgabetyp void und einem Stringarray als Parameter zu finden und auszufuhren public class Beispielklasse public static void main String args for String arg args System out println Parameter arg Uberladen von Methoden Bearbeiten Beim Uberladen von Methoden bekommen zwei oder mehrere Methoden denselben Namen Welche dieser Methoden tatsachlich aufgerufen wird hangt von den Parametern ab es wird diejenige Methode ausgefuhrt deren formale Parameter den tatsachlichen Parametern entsprechen mit denen die Methode aufgerufen wird Zugriffsmethoden Bearbeiten Hauptartikel Zugriffsfunktion Die Zugriffsmethoden sind eigentlich normale Methoden die einzelne Eigenschaften Attribute eines Objekts abfragen oder andern konnen Es hat sich im Programmierstil der objektorientierten Programmierung eingeburgert entsprechende Methoden mit den Prafixen get bzw set zu versehen Insbesondere in der Programmiersprache Java werden diese Methoden auch getter und setter genannt Dahingegen lauten bei Microsoft Visual FoxPro die Schlagworter fur dieses Konzept Access und Assign Methoden 1 Multimethoden Bearbeiten Hauptartikel Multimethode In einigen Sprachen gibt es sogenannte Multimethoden welche gleichzeitig auf mehreren Parameter Objekten operieren und daher in mehreren Parametern polymorph sein konnen Virtuelle Methoden Bearbeiten Hauptartikel Virtuelle Methode Eine virtuelle Methode ist eine Methode bei der erst zur Laufzeit ermittelt wird welche konkrete Implementierung verwendet wird Dieses sogenannte dynamische Binden ermoglicht es Methoden zu uberschreiben bzw zu uberladen Das Konzept der virtuellen Methoden wird von einem Compiler zum Beispiel mittels virtueller Tabellen umgesetzt Statische Methoden Bearbeiten Einige objektorientierte Programmiersprachen wie beispielsweise Java unterscheiden Methoden die von einem konkreten Objekt ausgefuhrt werden Objekt oder Instanzmethoden sie konnen auf den Zustand des konkreten Objekts bzw der Instanz zugreifen Methoden die ohne Objekt ausgefuhrt werden statische oder Klassenmethoden sie arbeiten nur mit Eigenschaften der Klasse Die o g main Methode ist ein Beispiel fur eine statische Methode 2 Literatur BearbeitenLaura Lemay Charles L Perkins Java in 21 Tagen 2000 ISBN 3 8272 5578 3 Katharina Morik Volker Klingspor Informatik kompakt Eine grundlegende Einfuhrung mit Java Springer 2006 ISBN 3 540 24304 6 Einzelnachweise Bearbeiten Access und Assign Methoden In Visual Studio NET 2003 Visual FoxPro Microsoft abgerufen am 21 Oktober 2013 James Gosling u a Chapter 8 Classes In The Java Language Specification Java SE 7 Edition 28 Februar 2013 abgerufen am 20 Januar 2014 englisch Weblinks BearbeitenMethoden in Java ausfuhrlich mit Beispielen Assign und Access Methoden unter Visual FoxPro 6 0 Methoden in Java Abgerufen von https de wikipedia org w index php title Methode Programmierung amp oldid 237992199