Реклама:

3.2.6. Обсуждение примера магического квадрата

Пример магического квадрата показывает следующие аспекты написания приложения, используя компоненты, созданные MATLAB Builder для Java: импорт классов, создание экземпляра класса, вызов методов класса из Java. Рассмотрим их подробнее.

Импорт классов. Необходимо импортировать библиотеки MATLAB и созданные классы компонента Java в код приложения. Для этого используется функция Java import.

import com.mathworks.toolbox.javabuilder.*;

import componentname.classname; или import componentname.*;

Создание экземпляра класса. Как со всеми классами Java, нужно использовать функцию new, чтобы создать экземпляр класса. Для создания объекта (theMagic) из класса magic, пример приложения использует следующий код: theMagic = new magic();

Вызов методов класса из Java. Как только создан экземпляр класса, можно вызвать метод класса, как это делается с любым объектом Java. В примере магического квадрата, метод makesqr вызывается строкой: result = theMagic.makesqr(1, n);

где n является экземпляром класса MWArray. Он объявлен как MWNumericArray и преобразовывается к этому типу из строки ввода args[0] параметра следующей командой:

n = new MWNumericArray(Double.valueOf(args[0],

MWClasslD.DOUBLE);

Когда вызывается метод компонента Java Builder, входные параметры, полученные методом должны быть во внутреннем формате массива MATLAB. Можно или (вручную) преобразовать их непосредственно в пределах программы запроса, или передать параметры как типы данных Java. Если данные передаются как типы данных Java, они преобразуются автоматически. Чтобы вручную преобразовать данные в один из стандартных типов данных MATLAB, используются классы MWArray в пакете com.mathworks.toolbox.javabuilder. Подробнее об этом см. разделе «Использование классов MWArray».

Отметим, что результат метода makesqr имеет тип Java Object[] - это массив из одного элемента result[0], который и содержит магический квадрат.

Замечание. Поддержка особенностей MATLAB в Java. Java Builder обеспечивает устойчивое преобразование данных, индексацию и форматирование массивов для сохранения гибкости среды MATLAB при вызове из кода Java. Чтобы поддерживать типы данных MATLAB, Java Builder обеспечивает иерархию классов MWArray. Можно использовать MWArray и другие элементы класса Java в приложении для конвертации собственных массивов в массивы MATLAB и наоборот. Java Builder также обеспечивает автоматическое преобразование данных для того, чтобы передать параметры, которые являются типами Java.

3.3. Массивы MATLAB в Java

Хотя приложение, разработанное при помощи Java Builder может работать независимо от MATLAB, оно использует среду MCR выполнения компонентов MATLAB. Для того, чтобы из программы на Java можно было обратиться к библиотеке MCR

MATLAB и методам и данным, основанным на Java Builder, имеется специальный класс Java MWArray из пакета com.mathworks.toolbox.javabuilder.MWArray. Этот класс MWArray разработан для обеспечения связи Java с MATLAB. Класс MWArray содержит массив MATLAB и имеет набор методов для обращения к свойствам и данным массива. Объекты класса MWArray - это аналоги массивов MATLAB в Java. Для краткости будем их в дальнейшем называть массивами MATLAB. Класс MWArray также имеет методы для преобразования массивов MATLAB в стандартные типы Java.


⇐ Предыдущая страница| |Следующая страница ⇒