Öffentliche statische Methoden und öffentliche Methoden

7

Was ist der Unterschied zwischen einer öffentlichen statischen Methode und einer öffentlichen Methode? Warum würden Sie eine öffentliche statische Methode verwenden?

    
redconservatory 30.09.2010, 15:39
quelle

4 Antworten

11

Die Methoden der Math-Klasse sind statisch. Also, in dem Fall

%Vor%

Die Math-Klasse selbst ist durch das, was Sie getan haben, unverändert - sie gibt nur einen Wert zurück oder handelt nach dem übergebenen Wert.

Also - statische Methoden sind nützlich für Dienstprogramme. Dinge wie

%Vor%

oder

%Vor%

Es ist sehr ungewöhnlich, dass Sie für alles andere eine statische Methode verwenden. Verwenden Sie keine Statiken wie 'getInstance ()', um Singletons zu erstellen - schauen Sie stattdessen in ein Framework für die Abhängigkeitsinjektion.

    
Stray 30.09.2010, 16:10
quelle
4

Statische Methoden können als überladene Konstruktoren verwendet werden. ActionScript hat keine Funktionsüberladung, daher schreibe ich manchmal etwas wie:

%Vor%     
alxx 30.09.2010 16:57
quelle
3

statische Methoden sind Methoden, die für keine Instanz einer Klasse (Objekt) spezifisch sind, sie sind Methoden, die diese Referenzen nicht enthalten dürfen und Sie können direkt über die Klasse auf sie zugreifen (nicht auf die Objektinstanzen)

    
Ken Struys 30.09.2010 15:41
quelle
2

Um Ihr Konzept zu verdeutlichen: Wenn Sie wissen möchten, wie oft Ihre Klasse instanziiert wurde, verwenden Sie jedes Mal, wenn Ihr Objekt erstellt wird, den Zähler für statische Variablen in Ihrem Klassenbaustein.

Dann müssen Sie die statische Methode verwenden, um auf diese Daten zuzugreifen, andernfalls können Sie Ihre Variable als public oder als Standard deklarieren und mit Klassennamen darauf zugreifen, was jedoch gegen die OOP-Prinzipien verstößt. Hier ist das kleine Beispiel

öffentliche Klasse CAR {

private static var Zähler: int = 0;

private Funktion CAR () {Counter ++; }

öffentliche statische Funktion ReturnTotalCarInstances (): int {    Rückgabe Counter; }

}

Statische Variablen haben ihren Vorteil, weshalb sie in den meisten Programmiersprachen zur Verfügung stehen. Das Zählen von Instanzen ist die geringe Verwendung von statischen Variablen. Sie werden in viel größerem Umfang verwendet. Der Hauptpunkt ist, es wird verwendet, um Daten global unter allen Objekten der Klasse zu teilen.

    
Muhammad Irfan 30.09.2010 16:41
quelle

Tags und Links