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

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

Что нового мы узнали?

В этом уроке мы научились:

  • Разбираться в видах программирования и его особенностях для MATLAB.
  • Использовать М-файлы сценариев и функций.
  • Выводить сообщения об ошибках и обрабатывать ошибки.
  • Создавать функции с переменным числом аргументов.
  • Использовать комментарии.
  • Создавать Р-коды.
  • Использовать управляющие структуры и функции диалога.
  • Применять условные операторы, циклы и переключатели.
  • Задавать паузы в вычислениях.
  • Использовать некоторые возможности объектно-ориентированного программирования.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.