Составители:
214
гом рабочего каталога системы MATLAB или собственного персо-
нального каталога, который должен быть добавлен к пути доступа.
Конструктор класса. Каталог класса должен обязательно со-
держать М-файл, называемый конструктором класса. Название конст-
руктора должно совпадать с названиями класса и каталога без пре-
фикса @. Конструктор создает объекты, используя данные в виде
массива записей (структуры) и приписывая им метку класса.
Рассмотрим конструктор полиномов @polynom/polynom.m:
function p = polynom(v)
%POLYNOM Конструктор полиномов.
% Функция p = polynom(v) формирует полином, используя
вектор v,
% содержащий коэффициенты степеней переменной x, рас-
положенные
% в убывающем порядке.
if nargin == 0
p.c = [ ];
p = class(p, 'polynom');
elseif isa(a, 'polynom')
p = v;
else
p.c = v(:).';
p = class(p,'polynom');
end
Система MATLAB позволяет вызывать конструктор без аргу-
ментов. В этом случае конструктор должен создать шаблон объекта,
как
правило, с пустыми полями. Также возможно, что конструктор
будет вызываться с аргументом входа, который уже является объек-
том данного класса. В этом случае конструктор обычно возвращает
входной аргумент. Функция isa проверяет эту ситуацию. Если аргу-
мент входа существует и не принадлежит классу polynom, то он пе-
реформируется так, чтобы быть вектором
-строкой и присвавается по-
лю .c результата. И наконец, функция class используется, чтобы при-
писать метку результату, которая определяет его как polynom.
Следующий оператор является примером использования кон-
структора polynom
p = polynom([1 0 -2 -5])
p = x^3 - 2*x - 5
и формирует полином с заданными коэффициентами.
В общем виде функция конструктора удовлетворяет следую-
щим свойствам:
• в отсутствии аргументов возвращается шаблон объекта;
гом рабочего каталога системы MATLAB или собственного персо- нального каталога, который должен быть добавлен к пути доступа. Конструктор класса. Каталог класса должен обязательно со- держать М-файл, называемый конструктором класса. Название конст- руктора должно совпадать с названиями класса и каталога без пре- фикса @. Конструктор создает объекты, используя данные в виде массива записей (структуры) и приписывая им метку класса. Рассмотрим конструктор полиномов @polynom/polynom.m: function p = polynom(v) %POLYNOM Конструктор полиномов. % Функция p = polynom(v) формирует полином, используя вектор v, % содержащий коэффициенты степеней переменной x, рас- положенные % в убывающем порядке. if nargin == 0 p.c = [ ]; p = class(p, 'polynom'); elseif isa(a, 'polynom') p = v; else p.c = v(:).'; p = class(p,'polynom'); end Система MATLAB позволяет вызывать конструктор без аргу- ментов. В этом случае конструктор должен создать шаблон объекта, как правило, с пустыми полями. Также возможно, что конструктор будет вызываться с аргументом входа, который уже является объек- том данного класса. В этом случае конструктор обычно возвращает входной аргумент. Функция isa проверяет эту ситуацию. Если аргу- мент входа существует и не принадлежит классу polynom, то он пе- реформируется так, чтобы быть вектором-строкой и присвавается по- лю .c результата. И наконец, функция class используется, чтобы при- писать метку результату, которая определяет его как polynom. Следующий оператор является примером использования кон- структора polynom p = polynom([1 0 -2 -5]) p = x^3 - 2*x - 5 и формирует полином с заданными коэффициентами. В общем виде функция конструктора удовлетворяет следую- щим свойствам: • в отсутствии аргументов возвращается шаблон объекта; 214
Страницы
- « первая
- ‹ предыдущая
- …
- 214
- 215
- 216
- 217
- 218
- …
- следующая ›
- последняя »