Öffentliche, statische Methoden vs. öffentliche Methoden
Was ist der Unterschied zwischen einer öffentlichen statischen Methode und eine öffentliche Methode? Warum sollten Sie eine öffentliche statische Methode?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Methoden der Math-Klasse sind statisch. So, im tun
Math-Klasse selbst ist unverändert durch, was Sie getan haben - es gibt nur einen Wert oder Handlungen auf den Wert, den Sie übergeben.
So - statische Methoden sind nützlich für die Versorgungsindustrie. Dinge wie
oder
Es ist sehr ungewöhnlich, dass Sie verwenden würden, eine statische Methode für alles andere. Nicht verwenden Statik wie 'getInstance()' erstellen von Singletons - Blick in ein framework für dependency injection statt.
statische Methoden sind Methoden, die einem nicht auf eine bestimmte Instanz einer Klasse (Objekt) Sie sind Methoden, die nicht zulässig sind, enthält diese Referenzen, und Sie können auf Sie über die Klasse direkt (nicht die Objekt-Instanzen)
Statische Methoden können verwendet werden, als überladene Konstruktoren. ActionScript nicht überladen von Funktionen, so dass manchmal ich bin etwas zu schreiben wie:
Machen Sie Ihr Konzept klar, Nehme an, wenn Sie wissen möchten, wie oft Ihre Klasse bereits instanziiert wurde, werden Sie über die statische variable counter in Ihrer Klasse constuctor, jedes mal, wenn Ihr Objekt erstellt wird.
Dann verwenden Sie die statische Methode zum Zugriff auf diese Daten, sonst können Sie erklären, Ihre Variablen public oder default und mit Klasse Namen, aber das verstößt gegen die OOP-Prinzipien. hier ist das kleine Beispiel
public class AUTO
{
private static var Counter:int=0;
private function AUTO(){ Counter++; }
public static function ReturnTotalCarInstances():int
{
return Counter;
}
}
Statische Variablen haben Ihren Vorteil, das ist, warum es in den meisten Programmiersprachen. Zählen von Instanzen ist die geringe Verwendung von statischen Variablen. Sie werden in viel größeren Umfang. Der wichtigste Punkt ist, es ist zum Austausch von Daten weltweit unter alle Objekte der Klasse.