такой вопрос если создаем объект класса унаследованного от другого класса, то вызывается конструктор предка, но создается ли в памяти объект предка при этом?
hidden #2158068
25 уровень
создание объектов
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Михаил
21 мая 2020, 19:36
Думаю, что нет. Просто у создаваемого объекта есть поля прописанные в его классе, а есть поля, унаследованные от родительского класса. Так вот как заполнять поля, прописанные в родительском классе, знает только конструктор родительского класса, вот он (методы, которые в нем записаны) и вызывается для заполнения этих полей. И не более того.
Да, после того, как отработает родительский конструктор в памяти будет находиться, по сути, объект предок - ничего другого родительский конструктор сотворить не может. Но и что? Потом конструктор потомка допишет к нему поля, которые объявлены в дочернем классе и этот объект уже станет объектом класса потомка.
0