Правильнали данная конструкция с точки зрения ООП

java ООП

public class bConfigRest extends bConfig{

@Override
public void Create(){
super.Create();

int i = super.getIdConfig();

//Создаем группу Клиенты
bConfig Client = new bConfig();
Client.setConfigName("Клиенты");
Client.setParentConfig(i);
Client.setObjType(11);
Client.Create();
}

}

Правильно ли в наследуемом классе создавать объект наследуемого класса?

Примечание:
просто super по сути создает один объект, а если надо несколько, то использование super не совсем корректно.
Я тоже так вначале делал (программа работает с бд при помощи jpa persistent ), так вот создается ид первого объекта и все, далее либо как-то ид надо обнулять, либо создавать еще один объект (как это я сделал)
Ответы:
у вас же есть  super.Create();
Если вам нужен еще один объект то наследование здесь не самый лучший выбор.
Но если такая необходимость есть, то можно и так как вы сделали.
На мой взгляд это неправильно. Да, так у вас работать будет. Но с точки зрения ООП можно написать одну из следующих конструкций:
bConfig Client = new bConfig();
bConfig Client = new bConfigRes();
bConfigRes Client = new bConfigRes();
А в вашем случае получается обратное:
bConfigRes Client = new bConfig();
что в принципе невозможно.
То есть что я хочу сказать - неправильно создавать для дочернего объекта стороннего родителя. Уж лучше тогда определить метод у родителя, который бы изменял его состояние.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.