Свойство класса в Java – это свойство, связанное с самим классом, а не с каж_дым экземпляром этого класса. Независимо от того, сколько создано экземпля_ ров класса, есть только одна копия каждого свойства класса. Так же, как свойст_ ва экземпляра доступны через экземпляр класса, доступ к свойствам класса можно получить через сам класс. Запись Number.MAX_VALUE – это пример обраще_ ния к свойству класса в JavaScript, означающая, что свойство MAX_VALUE доступно через класс Number. Так как имеется только одна копия каждого свойства класса, свойства класса по существу являются глобальными. Однако их достоинство со_ стоит в том, что они связаны с классом и имеют логичную нишу, позицию в про_ странстве имен JavaScript, где они вряд ли будут перекрыты другими свойства_ ми с тем же именем. Очевидно, что свойства класса имитируются в JavaScript
9.3. Объектно*ориентированный язык JavaScript
|
|
|
|
простым определением свойства самой функции_конструктора. Например, свой_ ство класса Rectangle.UNIT для хранения единичного прямоугольника с размера_ ми 1x1 можно создать так:
Rectangle.UNIT = new Rectangle(1,1);
Здесь Rectangle – это функция_конструктор, но поскольку функции в JavaScript представляют собой объекты, мы можем создать свойство функции точно так же, как свойства любого другого объекта.