Was ist der Unterschied zwischen einer öffentlichen statischen Methode und einer öffentlichen Methode? Warum würden Sie eine öffentliche statische Methode verwenden?
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.
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)
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.
Tags und Links actionscript-3 public-method