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
Wozu Statische Methoden ?[gelöst]
Wozu Statische Methoden ?[gelöst]
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
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.
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.
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 !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.
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 ...