Другие функции
объектно-ориентированного программирования
Для получения
списка методов данного класса объектов сейчас чаще используются функции 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 отмечалось, что все арифметические операторы имеют представления в
виде соответствующих функций.
При написании
книги не ставилась цель детального знакомства с техникой объектно-ориентированного
программирования. Дополнительные сведения имеются в книге, содержащей перевод
фирменного описания раздела по объектно-ориентированному программированию. Поэтому
ограничимся приведенным выше справочным описанием его средств.
Содержание раздела