Классы

Если вы уже занимались объектно ориентированным программированием, то со структурой классов уже наверняка знакомы. В haXe она создаётся следующим образом:
    package my.pack;
    /*
        так создаётся определение класса my.pack.MyClass
    */

    class MyClass {
        // ....
    }
У Класса может быть несколько переменных и методов.
    package my.pack;

    class MyClass {

        var id : Int;

        static var name : String = "MyString";

        function foo() : Void {
        }

        static function bar( s : String, v : Bool ) : Void {
        }
    }
Переменные и методы могут иметь следующие флаги :
  • static : поле принадлежит самому Классу, а не его экземплярам (объектам). Статические идентификаторы могут использоваться напрямую в самом классе. Вне класса, они должны быть использованы с именем, класса, которому принадлежат (например : my.pack.MyClass.name).
  • public : поле открыто для доступа из других классов. По умолчанию, все поля - private.
  • private : доступ к полю разрешён только из самого класса и из классов, которые от него наследуют.
Все переменные класса должны быть типизированными, т.е. объявлены с типом (можно использовать тип Dynamic если неизвестно, какой тип следует использовать или хочется писать в стиле языков с динамической типизацией). Аргументы функций и возвращаемые значения необязательны, но их типы также строго проверяются, как мы увидим позже во введении в выявление типов. Статические переменные могут получать значение при объявлении, но это не обязательно. Конструктор класса У класса может быть только один конструктор, представляющий из себя нестатическую функцию с именем new. Это ключевое слово, которое также может быть использовано для названия функции класса.
    class Point {
        public var x : Int;
        public var y : Int;

        public function new() {
            this.x = 0;
            this.y = 0;
        }

    }

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.