Составители:
213
То же самое относится и к вновь создаваемым классам. Ника-
ких объявлений переменных или объектов не требуется. Объекты соз-
даются динамически посредством вызова конструктора класса.
Далее в качестве типового рассматривается класс полиномов
от одной переменной. Название класса и конструктора класса -
polynom. В этом классе объект является полиномом, например, вида
p(x) = x^3 - 2x - 5, который
создается в результате вызова конструкто-
ра polynom, применяемого к вектору коэффициентов
p = polynom([1 0 -2 -5])
p = x^3 - 2*x - 5.
Структура объекта. Один из первых шагов при проектиро-
вании нового класса объектов - это выбор структуры данных для рас-
сматриваемого класса. Объекты класса задаются в виде структур. По-
ля структуры и операции с полями видимы только
внутри методов для
данного класса.
Например, для класса polynom можно выбрать представление
полиномиального объекта в виде вектор-строки, содержащей коэффи-
циенты степеней переменной в убывающем порядке. Так что объект p,
принадлежащий классу polynom, - это структура с единственным по-
лем p.c, содержащим коэффициенты. Это поле доступно только для
методов, описанных в подкаталоге @polynom
.
Однако, это - не единственый способ представить полином.
Коэффициенты полинома могут быть упорядочены по возрастанию
степеней или представлены в виде вектор-столбца. Можно предста-
вить полином с точностью до скалярного множителя, определяя его
нулями. Выбор той или иной среди этих альтернативных структур для
такого простого объекта как полином не особенно существенен,
тру-
ден или важен, но для более сложных объектов выбор структуры дан-
ных может играть очень важную роль. Например, специальная струк-
тура данных sparse, выбранная для разреженных матриц, существен-
но сокращает время выполнения операций над ними.
Каталог класса. М-файлы, определяющие методы для объек-
тов данного класса объединяются в каталог
класса, название которого
задается как @<имя_класса>. Это означает, что М-файлы, опреде-
ляющие методы для класса polynom, должны быть размещены в ката-
логе @polynom.
Каталог класса обязательно является подкаталогом каталога,
описанного в пути доступа системы MATLAB, но не самим катало-
гом. Например, каталог @inline - это подкаталог каталога
toolbox/matlab/funfun, а
каталог @sym - это подкаталог каталога
toolbox/symbolic. Новый каталог @polynom должен быть подкатало-
То же самое относится и к вновь создаваемым классам. Ника- ких объявлений переменных или объектов не требуется. Объекты соз- даются динамически посредством вызова конструктора класса. Далее в качестве типового рассматривается класс полиномов от одной переменной. Название класса и конструктора класса - polynom. В этом классе объект является полиномом, например, вида p(x) = x^3 - 2x - 5, который создается в результате вызова конструкто- ра polynom, применяемого к вектору коэффициентов p = polynom([1 0 -2 -5]) p = x^3 - 2*x - 5. Структура объекта. Один из первых шагов при проектиро- вании нового класса объектов - это выбор структуры данных для рас- сматриваемого класса. Объекты класса задаются в виде структур. По- ля структуры и операции с полями видимы только внутри методов для данного класса. Например, для класса polynom можно выбрать представление полиномиального объекта в виде вектор-строки, содержащей коэффи- циенты степеней переменной в убывающем порядке. Так что объект p, принадлежащий классу polynom, - это структура с единственным по- лем p.c, содержащим коэффициенты. Это поле доступно только для методов, описанных в подкаталоге @polynom. Однако, это - не единственый способ представить полином. Коэффициенты полинома могут быть упорядочены по возрастанию степеней или представлены в виде вектор-столбца. Можно предста- вить полином с точностью до скалярного множителя, определяя его нулями. Выбор той или иной среди этих альтернативных структур для такого простого объекта как полином не особенно существенен, тру- ден или важен, но для более сложных объектов выбор структуры дан- ных может играть очень важную роль. Например, специальная струк- тура данных sparse, выбранная для разреженных матриц, существен- но сокращает время выполнения операций над ними. Каталог класса. М-файлы, определяющие методы для объек- тов данного класса объединяются в каталог класса, название которого задается как @<имя_класса>. Это означает, что М-файлы, опреде- ляющие методы для класса polynom, должны быть размещены в ката- логе @polynom. Каталог класса обязательно является подкаталогом каталога, описанного в пути доступа системы MATLAB, но не самим катало- гом. Например, каталог @inline - это подкаталог каталога toolbox/matlab/funfun, а каталог @sym - это подкаталог каталога toolbox/symbolic. Новый каталог @polynom должен быть подкатало- 213
Страницы
- « первая
- ‹ предыдущая
- …
- 213
- 214
- 215
- 216
- 217
- …
- следующая ›
- последняя »