Другие функции объектно-ориентированного программирования
Для получения списка методов данного класса объектов сейчас чаще используются функции methodsview и methods. Отличиями от what имя класса является то, что эти функции возвращают информацию также и о классах Java, но информация выводится в отдельном окне, не сообщается информация о папках, все методы из всех папок собраны вместе, и повторяющиеся имена методов удалены:
- methodsview имя класса или methods имя класса-full – в отдельном окне возвращают полное описание методов класса, включая информацию о наследовании, а для классов Java – и о подписях и атрибутах;
- M=methods ('имя класса','-full ') – возвращает ту же информацию в массиве ячеек М;
- M=methods('имя класса') – возвращает массив ячеек с перечислением методов, относящихся к заданному классу объектов;
- methods имя класса возвращает перечень методов в отдельном окне. Пример:
>
>
methods char Methods for class char: delete diff int
Следующие две функции могут использоваться только внутри конструкторов классов:
inferiorto (
' CLASS1'
.
'CLASS2'
....) и superiortot
'CLASS1'
,
'CLASS2'
....)
Они определяют низший и высший приоритеты классов по отношению к классу конструктора. Для дескрипторов перегружаемых функций существует функция:
functions
F
=
functions(дескриптор функции)
Функция возвращающая массив структур F.METHODS, вложенный в массив F, при этом именем поля в массиве F.METHODS является имя класса, а значением поля – название метода, который вызывается тогда, когда входной аргумент принадлежит этому классу.
Дополнительно functions возвращает следующие поля:
- F.function – строка, используемая для создания дескриптора функция (существуют также отдельная функция func2str для получения этой информации и обратная ей функция str2func, превращающая строку в дескриптор функции);
- F.type содержит simple (простая), overloaded (перегружаемая) или subfunction (подфункция), т. е. указывает тип функции;
- F.default указывает путь к тому файлу, который первый в алгоритме поиска MATLAB и не определен никаким классом.
- which имя метода – находит загруженный Java класс и все классы MATLAB, которым принадлежит данный метод;
- which-all имя метода – находит все классы, которым принадлежит данный метод.
Любой оператор в системе MATLAB можно переопределить (т. е. сделать его функцию перегружаемой) путем задания m-файла с новым именем в соответствующем каталоге классов. В частности, в уроке 8 отмечалось, что все арифметические операторы имеют представления в виде соответствующих функций.
При написании книги не ставилась цель детального знакомства с техникой объектно-ориентированного программирования. Дополнительные сведения имеются в книге, содержащей перевод фирменного описания раздела по объектно-ориентированному программированию. Поэтому ограничимся приведенным выше справочным описанием его средств.
Что нового мы узнали?
В этом уроке мы научились:
- Разбираться в видах программирования и его особенностях для MATLAB.
- Использовать М-файлы сценариев и функций.
- Выводить сообщения об ошибках и обрабатывать ошибки.
- Создавать функции с переменным числом аргументов.
- Использовать комментарии.
- Создавать Р-коды.
- Использовать управляющие структуры и функции диалога.
- Применять условные операторы, циклы и переключатели.
- Задавать паузы в вычислениях.
- Использовать некоторые возможности объектно-ориентированного программирования.