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