Seite 1 von 1
Wozu Statische Methoden ?[gelöst]
Verfasst: 28. Februar 2010 22:30
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
Verfasst: 28. Februar 2010 23:03
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.
Verfasst: 1. März 2010 08:04
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 ...
Verfasst: 1. März 2010 10:00
von Igell
Danke RHBaum, das war genau das was ich hören wollte.