Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 229 стр.

UptoLike

Составители: 

227
S.type = '.'
S.subs = 'field'.
Эти простые обращения могут быть объединены в более
сложные индексные выражения. В этом случае length(S) определяет
количество уровней индексации. Например, выражение A(1,
2).name(3:4) вызывает метод subsref(A, S), где S - структура размера
3х1 со следующими значениями полей
S(1).type = '( )' S(2).type = '.' S(3).type = '( )'
S(1).subs = '{1, 2}' S(2).subs = 'name' S(3).subs = '{3:4}'
Индексное присваивание. Использование индекса или ука-
зателя поля в левой части оператора присваивания называется ин-
дексным присваиванием. В этих случаях MATLAB вызывает метод
subsasgn, реализованный в виде встроенной функции. Соответствую-
щие выражения могут иметь следующий вид
A(I) = B
A{I} = B
A.field = B
Каждый из них приводит к вызову метода subsasgn в форме
A = subsasgn(A, S, B)
Поля структуры
S аналогичны полям структуры в случае ин-
дексной ссылки.
Функция subsasgn различает присваивание вида A(i) = [ ] и
A(i) = B, где B - пустой массив.
Если правая часть - символ пустого массива [ ], а не перемен-
ная, то третий аргумент входа функции subsasgn является строкой '[
]'. Следовательно, при разработке собственного метода типа subsasgn
следует различать эти
два случая.
8.5 Наследование
Процедура, когда объекты одного класса приобретают свойства
объектов другого класса или классов, называется процессом наследо-
вания. Если некоторый объект (дочерний) наследует свойства другого
(родителя), дочерний объект включает все поля родительского объек-
та и может вызывать соответствующие методы.
           S.type = '.'
           S.subs = 'field'.

        Эти простые обращения могут быть объединены в более
сложные индексные выражения. В этом случае length(S) определяет
количество уровней индексации. Например, выражение A(1,
2).name(3:4) вызывает метод subsref(A, S), где S - структура размера
3х1 со следующими значениями полей

S(1).type = '( )'       S(2).type = '.'        S(3).type = '( )'
S(1).subs = '{1, 2}'    S(2).subs = 'name'     S(3).subs = '{3:4}'

        Индексное присваивание. Использование индекса или ука-
зателя поля в левой части оператора присваивания называется ин-
дексным присваиванием. В этих случаях MATLAB вызывает метод
subsasgn, реализованный в виде встроенной функции. Соответствую-
щие выражения могут иметь следующий вид
       A(I) = B
       A{I} = B
       A.field = B
Каждый из них приводит к вызову метода subsasgn в форме
       A = subsasgn(A, S, B)

         Поля структуры S аналогичны полям структуры в случае ин-
дексной ссылки.
         Функция subsasgn различает присваивание вида A(i) = [ ] и
A(i) = B, где B - пустой массив.
         Если правая часть - символ пустого массива [ ], а не перемен-
ная, то третий аргумент входа функции subsasgn является строкой '[
]'. Следовательно, при разработке собственного метода типа subsasgn
следует различать эти два случая.


         8.5 Наследование

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


                                                                     227