Конструктор - базовый класс - Большая Энциклопедия Нефти и Газа, статья, страница 2
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) Законы Мерфи (еще...)

Конструктор - базовый класс

Cтраница 2


Конструкторы могут инициализироваться до выполнения тела конструктора. При этом вызывается конструктор базового класса, и туда могут быть переданы данные в виде параметров.  [16]

Этот конструктор принимает два параметра. Первое значение вновь инициализируется обращением к соответствующему конструктору базового класса, тогда как второе берется из переменной базового класса itsWeight самим конструктором класса Dog. Обратите внимание, что присвоение значения переменной базового класса не может осуществляться на стадии инициализации конструктора произведенного класса.  [17]

Поскольку производный класс наследует элементы базового класса, то при создании объекта производного класса должен быть вызван конструктор базового класса для задания начальных значений элементам базового класса, содержащимся в объекте производного класса. В конструкторе производного класса при явном вызове конструктора базового класса может быть предусмотрен список инициализаторов элементов; в противном случае конструктор производного класса будет неявно вызывать конструктор базового класса с умолчанием.  [18]

До вызова метода Create базового класса свойства формы не загружаются и внутренние компоненты недоступны. Поэтому обычный подход включает: сначала вызов конструктора базового класса и затем - выполнение пользовательских операций.  [19]

Конструктор производного класса всегда сначала вызывает конструктор своего базового класса для задания начальных значений тем элементам производного класса, которые идентичны элементам базового класса. Если конструктор производного класса отсутствует, то конструктор по умолчанию производного класса вызывает конструктор базового класса. Деструкторы вызываются в последовательности, обратной вызовам конструкторов, так что деструктор производного класса вызывается раньше соответствующего деструктора базового класса.  [20]

Конструктор производного класса всегда вызывает конструктор базового класса, чтобы сначала инициализировать элементы базового класса в производном классе. Если конструктор производного класса опущен, то конструктор по умолчанию производного класса вызывает конструктор базового класса. Деструкторы вызываются в порядке, обратном вызовам конструктора, поэтому деструктор производного класса вызывается прежде деструктора его базового класса.  [21]

Поскольку производный класс наследует элементы базового класса, то при создании объекта производного класса должен быть вызван конструктор базового класса для задания начальных значений элементам базового класса, содержащимся в объекте производного класса. В конструкторе производного класса при явном вызове конструктора базового класса может быть предусмотрен список инициализаторов элементов; в противном случае конструктор производного класса будет неявно вызывать конструктор базового класса с умолчанием.  [22]

23 Созданный объект класса Dog. [23]

При создании объекта в производном классе, например в классе Dog, сначала вызывается конструктор базового, а затем - производного класса. Схематично объект класса Dog показан на рис. 11.2. Обратите внимание, что объект производного класса состоит как бы из двух частей, одна из которых создается конструктором базового класса, а другая - конструктором производного класса.  [24]

25 Определения функций элементов класса Derived ( часть 4 из 6. [25]

Заметьте, что множественное наследование указывается двоеточием (:) после имени класса ( class Derived) с последующим перечислением через запятую базовых классов. Отметим также, что конструктор Derived вызывает конструкторы каждого из своих базовых классов Basel и Base2 с использованием списка инициализаторов элементов. Конструкторы базового класса вызываются в той последовательности, в которой определено наследование, но не в той, в которой эти конструкторы упоминаются.  [26]

Перед конструктором ставится ключевое слово constructor. Если используется другое имя, то конструктор Create базового класса TObject так и останется доступным, а программист, вызвавший этот стандартный конструктор, может пропустить созданный вами код инициализации.  [27]

В Delphi конструктор инициализирует переменные-члены, переводя тем самым экземпляр объекта в заведомо корректное состояние. Однако конструктор не выполняет каких-либо выделений памяти. Поэтому часто приходится видеть, что конструктор выполняет все необходимые присвоения, а затем обращается к конструктору базового класса. В некоторых случаях вы можете вообще не обращаться к конструктору базового класса, и эта ситуация является вполне допустимой. NET такой подход является неприемлемым. В вашем собственном конструкторе вы обязаны обратиться к конструктору базового класса ( inherited Create), причем обращение к этому конструктору должно быть самым первым исполняемым выражением вашего конструктора. В настоящее время, если вы не обеспечиваете подобного обращения, компилятор выдает сообщение об ошибке, в котором указывается, что ссылка Self не инициализирована и что перед обращением к любым полям предка необходимо обратиться к конструктору базового класса.  [28]

В Delphi конструктор инициализирует переменные-члены, переводя тем самым экземпляр объекта в заведомо корректное состояние. Однако конструктор не выполняет каких-либо выделений памяти. Поэтому часто приходится видеть, что конструктор выполняет все необходимые присвоения, а затем обращается к конструктору базового класса. В некоторых случаях вы можете вообще не обращаться к конструктору базового класса, и эта ситуация является вполне допустимой. NET такой подход является неприемлемым. В вашем собственном конструкторе вы обязаны обратиться к конструктору базового класса ( inherited Create), причем обращение к этому конструктору должно быть самым первым исполняемым выражением вашего конструктора. В настоящее время, если вы не обеспечиваете подобного обращения, компилятор выдает сообщение об ошибке, в котором указывается, что ссылка Self не инициализирована и что перед обращением к любым полям предка необходимо обратиться к конструктору базового класса.  [29]

В Delphi конструктор инициализирует переменные-члены, переводя тем самым экземпляр объекта в заведомо корректное состояние. Однако конструктор не выполняет каких-либо выделений памяти. Поэтому часто приходится видеть, что конструктор выполняет все необходимые присвоения, а затем обращается к конструктору базового класса. В некоторых случаях вы можете вообще не обращаться к конструктору базового класса, и эта ситуация является вполне допустимой. NET такой подход является неприемлемым. В вашем собственном конструкторе вы обязаны обратиться к конструктору базового класса ( inherited Create), причем обращение к этому конструктору должно быть самым первым исполняемым выражением вашего конструктора. В настоящее время, если вы не обеспечиваете подобного обращения, компилятор выдает сообщение об ошибке, в котором указывается, что ссылка Self не инициализирована и что перед обращением к любым полям предка необходимо обратиться к конструктору базового класса.  [30]



Страницы:      1    2    3