Wozu Statische Methoden ?[gelöst]

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Igell
Beiträge: 27
Registriert: 11. November 2009 20:36

Wozu Statische Methoden ?[gelöst]

Beitrag von Igell »

Hallo

Ich finde keine gute Begründung für eine Statische Methode. In Einigen Tutorials werden Statische Methoden benutzt um auf Statische Variablen Zugriff zu bekommen, das funktioniert aber genau so gut mit einer "Normalen" Klassen Methode.

Kennt wer ein gutes Beispiel für den Einsatz einer Statischen Methode oder kann mal ein Paar Sätze dazu sagen.


Danke
Zuletzt geändert von Igell am 1. März 2010 10:21, insgesamt 1-mal geändert.
Wissen ist die einzige Ressource, die sich vermehrt wenn man sie teilt
TSS
Beiträge: 73
Registriert: 24. November 2009 15:40
Kontaktdaten:

Beitrag von TSS »

Ein gutes Beispiel in Qt ist zum Beispiel
http://doc.trolltech.com/4.6/qstring.html#number

Die Funktion wandelt Zahlen in Strings um. Da es eine statische Funktion ist, kann man auf die Funktion zugreifen, ohne vorher eine Instanz der Klasse zu erzeugen.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

In Einigen Tutorials werden Statische Methoden benutzt um auf Statische Variablen Zugriff zu bekommen, das funktioniert aber genau so gut mit einer "Normalen" Klassen Methode.
mit einer nicht static methode braeuchtest du aber immer eine instanz und die methode aufzurufen. greifst du nur auf statische member zu, iss die instanz voellig unnoetig ... deshalb static methode !

Sieh die sache zuerst von der technischen seite.
Statische Member, statische methoden sind eigentlich nix anderes als globale variablen / globale funktionen nur hinter dem Namespace einer klasse versteckt, wo sie dazugehoeren.

Damit merzt aber gleich paar prinzipielle schweaechen der globalen dinger aus (gefahr von namenskonflikten, bessere strukturierung, einheitlichere zugriffbeschraenkung durch die Klassensemantic (public, private, protected) )

Siehs als sprachlisches Mittel an, um globale Objecte und Funktionen salonfaehig zu machen. Und auch in der besten OOP welt gibt es dinge (ressourcen, konsolen ... ) , die von haus aus eher globalerer natur sind.

Ciao ...
Igell
Beiträge: 27
Registriert: 11. November 2009 20:36

Beitrag von Igell »

Danke RHBaum, das war genau das was ich hören wollte.
Wissen ist die einzige Ressource, die sich vermehrt wenn man sie teilt
Antworten