Statyczne pola i metody klasy w JavaScript
Stronę tą wyświetlono już: 910 razy
Deklaracja pól statycznych klasy
Do pól statycznych klasy można uzyskać dostęp bez konieczności tworzenia obiektu klasy. Umożliwia to bardziej uporządkowane rozmieszczenie zmiennych. Oto prosty przykład:
- function Person(_name, _surname){
- this.name = _name; // pole publiczne klasy
- this.surname = _surname;
- Person.nuberOfObjects += Person.numberOfObjects ? Person.numberOfObjects + 1 : 1;
- }
- var person = new Person("Marian", "Paździoch");
- alert(Person.nymberOfObjects);
Deklaracja metod statycznych klasy w JavaScript
Metody statyczne tworzy się podobnie jak pola statyczne, oto przykład:
- function Person(_name, _surname){
- this.name = _name; // pole publiczne klasy
- this.surname = _surname;
- Person.numberOfObjects = ++Person.numberOfObjects || 1; // zmienna statyczna
- Person.removePerson = function(person){ // utworzenie metody statycznej
- delete person;
- Person.numberOfObjects--;
- }
- }
- var person = new Person("Marian", "Paździoch"); // tworzenie pierwszej osoby
- alert(Person.numberOfObjects); // wyświetlanie liczby osób
- Person.removePerson(person); // wywołanie metody statycznej
- alert(Person.numberOfObjects); // wyświetlanie liczby osób
W powyższym kodzie metoda statyczna removePerson rzeczywiście usunie obiekt, ale tylko wtedy, gdy jedynym wskaźnik na ten obiekt będzie podanym na jej wejście argumentem.