Spec-Zone .ru
спецификации, руководства, описания, API

 Глава 5. Классы

Оглавление

Синтаксис Определения класса
Элементы класса
Блок init
Блок postinit
Переменное Объявление Переопределения
Функциональное Определение Переопределения
Наследование
Инициализация экземпляра
Порядок инициализации
Авеню Инициализации Переменной экземпляра

Классы представляют виды вещей, ли они быть конкретными вещами, графическими вещами, или концептуальными вещами. И экземпляры классов представляют определенные вещи. Например, в JavaFX:

class Shoe {
   var color : String;
   var size: Number;
   var style : String;
}

def rubySlipper = Shoe {
   color: "red"
   size: 7
   style: "slipper"
}

Здесь Обувь class представляет своего рода вещь, и экземпляр, сохраненный в rubySlipper, является представлением конкретной вещи. Отметьте, что есть переменные экземпляра, которые хранят состояние экземпляра.

Принимая во внимание, что class CheckBox является своего рода графической вещью:

public class CheckBox extends CustomNode, Resizable {
   public var title : String;

   public var visible : Boolean;

   public var skin : Skin on replace oldSkin {
      if (skin != null) then skin.control = this;
      if (oldSkin != null) then oldSkin.control = null;
   }

   public function requestFocus() : Void {
      if (visible) then skin.requestFocus();
   }
}   

Это расширяет два других класса (CustomNode и Изменяемого размера), поэтому включая их переменные экземпляра и функции экземпляра. CheckBox добавляет еще три переменные экземпляра, включая кожу, у которой есть пункт на замене, чтобы поддерживать отношения между кожей и CheckBox. Это также добавляет функцию экземпляра requestFocus.

[Чтобы сделать: добавьте раздел по инициализации экземпляра (перед разделом инициализации переменной экземпляра). Затем очистите раздел инициализации переменной экземпляра]