MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

MATLAB

В.Г.Потемкин "Введение в Matlab" (v 5.3)
Глава 8. Объектно-ориентированное программирование

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

8.6. Описание функций и команд

CLASS
Определить класс объекта или создать объект

Синтаксис:

                 str = class('<имя_объекта>')
                 obj = class(S, '<имя_класса>')
                 obj = class(S, '<имя_класса>', <родитель1>, <родитель2> …)

Описание:

Функция str = class('<имя_объекта>') возвращает строку, содержащую имя класса, соответствующего следующей таблице

Имя класса Класс объектов
Double Многомерные массивы чисел в арифметике с плавающей точкой в формате удвоенной точности.
Sparse Двумерные действительные или комплексные разреженные матрицы
Char Массивы символов
Struct Массивы записей (структура)
Cell Массивы ячеек
'<имя_класса>' Класс, определяемый пользователем

Функция obj = class(S, '<имя_класса>') создает объект класса с указанным именем, используя структуру S в качестве шаблона. Это относится только к М-функциям с именем имя_класса.m, размещенным в каталоге @имя_класса.

Функция obj = class(S, '<имя_класса>', <родитель1>, <родитель2> …) создает объект класса с указанным именем, используя структуру S в качестве шаблона, а также гарантирует, что вновь создаваемый объект наследует методы и поля родительских объектов, указанных в качестве аргументов.

Сопутствующие операторы: INERIORTO, ISA, SUPERIORTO.

ISA
Определить принадлежность объекта к данному классу

Синтаксис:

              K = class(obj, '<имя_класса>')

Описание:

Функция K = class(obj, '<имя_класса>') возвращает логическое TRUE (1), если объект принадлежит данному классу, и логическое FALSE (0) - в противном случае.

Аргумент '<имя_класса>' - это либо имя класса, определенного пользователем, либо имя одного из предопределенных классов системы MATLAB:

Имя класса Класс объектов
Double Многомерные массивы чисел в арифметике с плавающей точкой в формате удвоенной точности.
Sparse Двумерные действительные или комплексные разреженные матрицы
Char Массивы символов
Struct Массивы записей (структура)
Cell Массивы ячеек

Пример.
Функция

             isa(rand(3, 4), 'double')

истинна и возвращает значение

              ans =     1

Сопутствующие операторы: CLASS.

ISOBJECT
Выявление объекта некоторого класса

Синтаксис:

               k = isobject(A)

Описание:

Функция k = isobject(A) возвращает логическое TRUE (1), если A - объект некоторого класса, и логическое FALSE (0) - в противном случае.

Сопутствующие операторы: операторы группы IS*.

METHODS
Вывести на терминал список методов для данного класса

Синтаксис:

             methods <имя_класса>
             s = methods( '<имя_класса>')

Описание:

Команда methods <имя_класса> выводит на терминал список методов для данного класса.

Функция s = methods('<имя_класса>') возвращает массив ячеек, содержащих имена методов в виде строковых величин.

Пример.
Команда methods polynom выводит на экран следующий список методов для класса polynom:

            methods polynom
             Methods for class polynom:
             Методы для класса polynom:
             char display minus plot polynom roots
             diff double mtimes plus polyval

Функция s = methods('polynom') выводит на экран следующий список методов для класса polynom в виде массива ячеек символов:

            s = methods( 'polynom')
             s =
                 'polynom'
                 'mtimes'
                 'plus'
                 'plot'
                 'display'
                 'diff'
                 'char'
                 'roots'
                 'minus'
                 'double'
                 'polyval'

Сопутствующие операторы: HELP, WHAT, WHICH.

INFERIORTO
Отношение низшего класса

Синтаксис:

           inferiorto('<имя_класса1>', '<имя_класса2>', …)

Описание:

Команда inferiorto('<имя_класса1>', '<имя_класса2>', …), вызванная внутри конструктора класса (например, myclass.m), определяет, что метод myclass.m не должен вызываться, если функция вызвана с объектом класса myclass и одним или более объектов классов '<имя_класса1>', '<имя_класса2>', ….

Пояснение.

Допустим, что A - это объект класса 'class_a', B - это объект класса 'class_b' и C - это объект класса 'class_c'. Допустим также, что конструктор class_c.m содержит утверждение inferiorto('class_a'), что означает низший приоритет класса 'class_c' по отношению к классу 'class_a'. Тогда при вызове функций e = fun(a, c) или e = fun(c, a) вызывается функция class_a/fun.

Если функция вызывает 2 объекта, отношение классов которых не определено, то оба объекта имеют одинаковый приоритет и используется метод, относящийся к первому объекту в списке аргументов вызываемой функции. То есть, вызов fun(b, c) использует метод class_b/fun, а вызов fun(с, b) использует метод class_c/fun.

Сопутствующие операторы: SUPERIORTO

SUPERIORTO
Отношение высшего класса

Синтаксис:

        superiorto('<имя_класса1>', '<имя_класса2>', …)

Описание:

Команда superiorto('<имя_класса1>', '<имя_класса2>', …), вызванная внутри конструктора класса (например, myclass.m), определяет, что метод myclass.m должен быть вызван, если функция вызвана с объектом класса myclass и одним или более объектов классов '<имя_класса1>', '<имя_класса2>', ….

Пояснение.

Допустим, что A - это объект класса 'class_a', B - это объект класса 'class_b' и C - это объект класса 'class_c'. Допустим также, что конструктор class_c.m содержит утверждение superiorto('class_a'), что означает высший приоритет класса 'class_c' по отношению к классу 'class_a'. Тогда при вызове функций e = fun(a, c) или e = fun(c, a) вызывается функция class_c/fun.

Если функция вызывает 2 объекта, отношение классов которых не определено, то оба объекта имеют одинаковый приоритет и используется метод, относящийся к первому объекту в списке аргументов вызываемой функции. То есть, вызов fun(b, c) использует метод class_b/fun, а вызов fun(c, b) - метод class_c/fun.

Сопутствующие операторы: INFERIORTO.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика