4.3. Методы

Ссылка на оригинальную статью.

Метод — это функция или процедура, принадлежащая какому-то классу или объекту, которая определяет поведение программы, содержащимися в  ней выражениями. Методы можно встретить в любом примере программы, даже в простом Hello World!  используется метод main.

Вот некоторые характеристики методов:

  1. Имя метода (в примере: main)
  2. Список аргументов (в примере: () )
  3. Возвращаемый тип(в примере: void )
  4. Может иметь модификации для доступа(в примере:  static и public)
  5. Может иметь выражение внутри (в примере:  {trace(«Hello World»).

Рассмотрим данный пример.

 

В данном примере есть метод toString() и конструктор, кроме main.  

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

Тип возвращаемого значения записывается после его объявления через двойные скобки. В нашем случае метод возвращает значение типа String.

У нас все методы классов Franction публичные, что значит, мы можем обращаться к ним из класса Test.

Методы и поля могут переопределены для наследников базового класса. Использование переопределения в классе подразумевает, что у него есть родительский класс. Добавим в наш пример еще один класс  — наследник  Decimal и переопределим метод базового класса toString().

Переменная d явно определена как  Fraction  и во время компиляции «узнается» как  переменная этого класса, но во время выполнения все равно находится правильный метод toString()  в классе Decimal .

Наследник может обратиться к методам родителя, которые он переопределяет с помощью вызова super.methodName(). Это используется, например, в конструкторе наследника.

Ссылка на пример на TryHaxe!