ВУЗ:
Составители:
Рубрика:
22
создает объекты, используя данные в виде массива записей (структу-
ры) и приписывая им метку класса.
Функции isa и class.
Эти функции используются конструктором,
но могут применяться и вне каталога класса.
Функция isa(a, 'class_name') проверяет, принадлежит ли объект a
данному классу.
При использовании вне контекста методов функция class допус-
кает только один аргумент.
Команда class(a) возвращает строку, содержащую имя класса для
объекта a.
Преобразование классов.
Вызов функции преобразования класса
имеет вид
b = class_name(a),
где a – объект некоторого класса, отличного от class_name. В этом
случае система MATLAB ищет метод с именем class_name в катало-
ге классов для объекта a. Такой метод преобразовывает объект одно-
го класса в объект другого класса. Если данный объект уже является
объектом класса class_name, то система MATLAB вызывает функ-
цию конструктора, который просто возвращает
этот объект.
Наиболее важными функциями преобразования классов являются
double и char. Преобразование к классу double создает традицион-
ный массив системы MATLAB, хотя это может и не отражать тре-
буемого соответствия для некоторых классов. Преобразование к
классу char полезно для вывода на печать.
При работе с объектами и методами система MATLAB использует
специальное множество
правил, чтобы гарантировать вызов требуе-
мой функции. Если, по крайней мере, один из аргументов является
объектом, система MATLAB рассматривает список параметров слева
направо, чтобы определить их старшинство. Для операторов равного
старшинства выбирается крайний левый. Затем к нему применяются
следующие правила:
1. Если имя вызываемой функции совпадает с именем встроенной
функции, то проверяется
, существует ли переопределенная версия
этой функции для этого класса, а затем
– для родительского. Если ни
один из этих случаев не имеет место, выдается ошибка.
создает объекты, используя данные в виде массива записей (структу- ры) и приписывая им метку класса. Функции isa и class. Эти функции используются конструктором, но могут применяться и вне каталога класса. Функция isa(a, 'class_name') проверяет, принадлежит ли объект a данному классу. При использовании вне контекста методов функция class допус- кает только один аргумент. Команда class(a) возвращает строку, содержащую имя класса для объекта a. Преобразование классов. Вызов функции преобразования класса имеет вид b = class_name(a), где a – объект некоторого класса, отличного от class_name. В этом случае система MATLAB ищет метод с именем class_name в катало- ге классов для объекта a. Такой метод преобразовывает объект одно- го класса в объект другого класса. Если данный объект уже является объектом класса class_name, то система MATLAB вызывает функ- цию конструктора, который просто возвращает этот объект. Наиболее важными функциями преобразования классов являются double и char. Преобразование к классу double создает традицион- ный массив системы MATLAB, хотя это может и не отражать тре- буемого соответствия для некоторых классов. Преобразование к классу char полезно для вывода на печать. При работе с объектами и методами система MATLAB использует специальное множество правил, чтобы гарантировать вызов требуе- мой функции. Если, по крайней мере, один из аргументов является объектом, система MATLAB рассматривает список параметров слева направо, чтобы определить их старшинство. Для операторов равного старшинства выбирается крайний левый. Затем к нему применяются следующие правила: 1. Если имя вызываемой функции совпадает с именем встроенной функции, то проверяется, существует ли переопределенная версия этой функции для этого класса, а затем – для родительского. Если ни один из этих случаев не имеет место, выдается ошибка. 22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »