Матричная лаборатория MatLab



 

Другие функции объектно-ориентированного программирования

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

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

 

Назад Начало Вперед