[Fachgesimpel] Methoden/Funktionen

ActiveO2

Ensign
Registriert
Feb. 2009
Beiträge
161
Hallo,

kann mir jemand den genauen Unterschied zwischen Funktionen und Methoden nennen?
Via Google bin ich auf Beiträge gestoßen in welchen recht viel diskutiert wurde, was mir dann im Endeffekt leider auch nicht weitergeholfen hat *g*

www.wer-weiss-was.de // Diskussion

http://velociraptor.mni.fh-giessen.de/Programmierung/
// hier verraten die Überschriften schon etwas

Ein paar Zeilen zum Nachdenken und verbessern(!) mal dazwischen geworfen:
- Methoden sind Funktionen in Objekten.
- Methoden müssen Teil eines Objektes sein
- Methoden also nur in der OOP
- Funktionen sind unabhängig -> könnten im Prinzip überall verwendet werden
- Verwaltung der Einsprungaddressen und die Speicherverwaltung ist anderst als bei Funktionen //in wiefern würde mich da auch interessieren


.
 
Zuletzt bearbeitet: (Rechdschraibfeler)
mir stellt sich grade die frage nach dem sinn dieses treads.
die frage hast du dir im übriegen schon selbst beantwortet.
 
Den wesentlichen Unterschied hast du schon genannt...
ActiveO2 schrieb:
- Methoden sind Funktionen in Objekten.
- Methoden müssen Teil eines Objektes sein
Würde es verallgemeinern, dass Methoden Funktionen in Klassen sind. Eine statische Methode z.B. hat kein zugehöriges Objekt.
- Methoden also nur in der OOP
- Funktionen sind unabhängig -> könnten im Prinzip überall verwendet werden
Kann man glaub ich so stehen lassen. Methoden gibts im Gegensatz zu Funktionen nur im OOP-Paradigma. In Java gibts demnach nach obiger Definition von Methode/Funktion keine Funktionen im engeren Sinne, sondern nur Methoden.
- Verwaltung der Einsprungaddressen und die Speicherverwaltung ist anderst als bei Funktionen
Hmm... da fällt mir nicht viel dazu ein. Das Name Mangling bei OOP ist wesentlich komplizierter und daher bekommen die Methoden beim Kompilieren kryptischere Namen, aber bzgl. Einsprungadresse und Speicherverwaltung wüsste ich keinen direkten Unterschied. Wobei die Speicherverwaltung auch stark von der Sprache abhängt. Zum beispiel gibts große Unterschiede zwischen C++ und Java....
Ein weiterer Unterschied ist, dass eine Methode natürlich immer eine Referenz auf das zugehörige Objekt enthält.

Insgesamt würde ichs aber nicht zu genau nehmen. Funktion und Methode wird sehr häufig als Synonym verwendet.
 
Zum letzen Punkt kannst Du Dir folgendes Thema in der Wikipedia ansehen: "Virtual method table"
 
Zurück
Oben