Поделиться через


Создание собственных классов

Оператор class определяет классы. По умолчанию члены классов являются открытыми. Это означает, что любой код, который может получить доступ к классу, может получить доступ и к члену класса. Дополнительные сведения см. в разделе Модификаторы JScript.

Классы с полями

Поля определяют данные, используемые объектом; они аналогичны свойствам объектов, основанных на прототипах. Ниже приведен пример простого класса, содержащего два поля. Экземпляр класса создается с помощью оператора new:

class myClass {
   const answer : int = 42; // Constant field.
   var distance : double;   // Variable field.
}

var c : myClass = new myClass;
c.distance = 5.2;
print("The answer is " + c.answer);
print("The distance is " + c.distance);

После выполнения этой программы выводится следующий результат:

The answer is 42
The distance is 5.2

Классы с методами

Классы могут также иметь методы, которые представляют собой функции, содержащиеся в классе. Методы определяют функциональные возможности работы с данными объекта. Можно переопределить класс myClass, созданный в предыдущем примере, таким образом, чтобы он содержал метод.

class myClass {
   const answer : int = 42;         // Constant field.
   var distance : double;           // Variable field.
   function sayHello() :String {    // Method.
      return "Hello";
   }
}

var c : myClass = new myClass;
c.distance = 5.2;
print(c.sayHello() + ", the answer is " + c.answer); 

После выполнения этой программы выводится следующий результат:

Hello, the answer is 42

Классы с конструкторами

Можно определить для класса конструктор. Конструктор, который представляет собой метод с именем класса, выполняется при создании класса с помощью оператора new. Для конструктора можно определить тип возвращаемых данных. В данном примере конструктор добавляется к классу myClass.

class myClass {
   const answer : int = 42;         // Constant field.
   var distance : double;           // Variable field.
   function sayHello() :String {    // Method.
      return "Hello";
   }
   // This is the constructor.
   function myClass(distance : double) {
      this.distance = distance;
   }
}

var c : myClass = new myClass(8.5);
print("The distance is " + c.distance);

После выполнения этой программы выводится следующий результат:

The distance is 8.5

См. также

Основные понятия

Расширенное создание классов

Другие ресурсы

Объекты, основанные на классах

Объекты JScript