Funktion als Parameter übergeben?
-
Allerdings sind Funktionen und Methoden nicht dasselbe ???
So wurde mir das auf der Uni beigebracht^^
Java: Methoden
C++: Funktionen
-
BorisDieKlinge schrieb:
So wurde mir das auf der Uni beigebracht^^
Java: Methoden
C++: FunktionenOffensichtlich Stuss.
-
BorisDieKlinge schrieb:
Allerdings sind Funktionen und Methoden nicht dasselbe ???
So wurde mir das auf der Uni beigebracht^^
Java: Methoden
C++: FunktionenKlar: Java kennt keine Funktionen weil ohnehin alles in irgendwelchen Objekten ist. Aber C++ kennt Methoden!

-
So definiert man Funktionen als methoden, welche keiner klasse zugeordnent sind!?
Member-funktionen == Methoden
Globale-funktionen == funktionen
-
Ich denke die Begrifflichkeit ist schwer schwammig - weshalb je nach Definition von Methode oder Funktion die Uni sogar recht haben könnte

Aber landläufig wird Methode eigentlich eher als nichtstatische Funktion einer Klasse bezeichnet - also eine nichtstatische Memberfunktion. Oder liege ich da falsch?
-
ne könnte richtig sein.. eine statisch funktion einer klasse, istja quaaie ohne objekt der klasse verwendbar so wie globale Funktionen...
-
als methode wird häufig nur die schnittstelle an sich bezeichnet. klasse A hat eine methode m. wenn die methode nun als implementierung in ihrer gesamtheit betrachtet wird, spricht man wieder von funktion. manchmal sogar von prozedur.
die ganzen begriffe haben eigentlich in den momentanen sprachen weder einen syntaktischen, noch semantischen hintergrund. in manchen "älteren" sprachen gabs z.b. ne strikte trennung zwischen prozedur und funktion (die mussten sogar explizit als solche deklariert werden). weder c/c++ noch java kennen diese unterscheidung.
umgangssprachlich wird aber wohl methode als kleinste menge der nicht-statischen memberfunktionen angenommen, das stimmt. plattitüden wie "c++ = funktionen, java = methoden" sind aber grandioser stuss

-
in VB spricht man von prodeduren und funktionen je nachdem ob ei nwert zurück gegeben wird oder nicht.. wenn ich richtig liege!
-
Kenn ich nur von Pascal so.
-
LordJaxom schrieb:
Aber landläufig wird Methode eigentlich eher als nichtstatische Funktion einer Klasse bezeichnet - also eine nichtstatische Memberfunktion. Oder liege ich da falsch?
Das kommt darauf an, wo du dich rumtreibst

Im Sinne der Objektorientierung ist eine Methode, die *Implementation* einer Nachricht. Man sendet Nachrichten an Objekte und Objekte implementieren das korrekte Verhalten in Methoden.
Wenn man über OOP redet, sollte man also den Begriff "Methode" verwenden, wann immer man über die Implementation von Verhalten spricht.In einer Hard-Core-C++ Umgebung hingegen wird man damit nicht weiter kommen. Standard-C++ kennt den Begriff "Methode" nicht. Hier gibt es nur Funktionen und Member-Funktionen (mit den bekannten Zusätzen wie virtual, (non-)static, ...).
In C++ sollte man den Begriff "Methode" auch nicht mit dem C++ Begriff
"nichtstatische Memberfunktion" gleichsetzen. Dank des Interface-Prinzips kann eine Nachricht (im OOP-Sinne) in C++ auch über eine freie Funktion implementiert werden. Somit kommt es hier dann zur Schieflage.Wie man das Ganze am Ende nennt, sollte man also kontextabhängig entscheiden
