.. _PhysiCell_java_Description_Method: Метод ===== .. role:: raw-html(raw) :format: html .. raw:: html Метод — это функция, объявленная внутри класса. Она определяет поведение объекта, т.е. то, какие действия он может выполнять. Методы описываются следующим образом (все описанные методы имеют модификатор доступа "public"): .. code-block:: text static double norm(double[] vector) где: • static - указание на то, что метод статический (применяется к классу). Если не указано, то считается, что метод нестатический (применяется к объекту класса). • double - тип данных, который возращает метод. Если не указано, то считается, что метод ничего не возвращает ("void"). • norm - название метода. • double[] vector - название аргумента, который принимает метод (vector), и его тип данных/класс (double[]). Если не указано, то считается, что метод ничего не принимает на вход. Основные правила объявления метода в java: - Может содержать модификатор доступа. Существует несколько таких модификаторов, однако при создании методов пользовательского кода для моделей используется только модификатор доступа "public" (обозначает, что объявленный метод доступен отовсюду: из любого класса любого пакета). - Может содержать другие модификаторы (например, static - указание на то, что метод принадлежит классу, а не объекту класса). - Обязательно содержит тип/класс возвращаемого значения. Если метод ничего не возвращает, то указывается "void". - Ключевое слово "return" используется для обозначения того, что именно возвращает метод (если не указано "void"). - Обязательно содержит круглые скобки, внутри которых перечисляются параметры, которые метод принимает на вход. Если метод ничего не принимает на вход, то указывается (). Пример объявления метода, который возвращает что-либо, внутри класса: .. code-block:: text // Класс Circle public class Circle { // Поля класса: // radius - радиус круга (тип данных double) private double radius; // Метод, возвращающий площадь круга public double getArea() { double area = Math.PI * square(radius); return area; } } Пример объявления метода, который ничего не возвращает, внутри класса: .. code-block:: text // Класс Circle public class Circle { // Поля класса: // radius - радиус круга (тип данных double) private double radius; // Метод, который ничего не возвращает. Он просто выводит информацию о площади круга public void printArea() { double area = Math.PI * square(radius); System.out.println("Площадь круга: " + area); } } Методы бывают статическими (при их объявлении указывается модификатор "static", такие методы относятся ко всему классу, а не к конкретным объектам этого класса) и нестатическими (относятся к конкретным объектам класса). Обращение к статическому методу осуществляется через имя самого класса, например: .. code-block:: console Cell.createCell(CellDefinition cd, Model model, double[] position); • Cell - название класса. Обращение к нестатическому методу осуществляется через имя объекта какого-либо класса, например: .. code-block:: console Cell cell1 = new Cell(CellDefinition cd, Model model); сell1.getMicroenvironment();