exponenta event banner

Последовательность управления вызовами конструктора

MATLAB ® не гарантирует последовательность, в которой конструкторы суперкласса вызываются при построении объекта подкласса. Однако можно управлять этим порядком путем явного вызова конструкторов суперкласса из конструктора подкласса.

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

Предположим, что у вас есть иерархия классов, в которых ClassC извлекает из ClassB, которая происходит от ClassA. Конструктор подкласса может вызывать только прямые суперклассы. Поэтому каждый конструктор класса может вызывать конструктор прямого суперкласса:

В случаях множественного наследования конструктор подкласса может вызывать каждый конструктор суперкласса. Чтобы обеспечить следование определенной последовательности вызова конструктора суперкласса, вызовите все прямые конструкторы суперкласса явно из самого конкретного конструктора подкласса:

Связанные темы