Спасибо Вам огромное за ответ! Ноу меня к Вам дополнительный вопрос

Компьютеры программирование java ООП

какой смысл такого обьявления A b=new B(); если класс B и так наследует свойства и методы класса А. ЗАчем?
Если можно пример из реальной жизни
Ответы:
Пример простой скажем есть интерфейс(базовый класс) IAuth у него есть имплементации(потомки) AuthPlain, AuthDB, AuthFB. При разработке самого механизма защиты Вам не важно как именно пользователь авторизуется, важно что авторизуется через какой-то набор методов.
Вы везде используете в IAuth. При реальной работе или в коде или в настройках(Spring) указываете конкретную импелементацию. Если надо будет тип авторизации сменить/расширить то Вам надо будет не тонны кода переписывать, а добавить один класс реализующий(или потомка) IAuth и немного поправить конфигурацию.
У класса В могут быть методы, которых нет у класса А. Поэтому когда вы пишете  A b=new B(); вы сознательно лишаете себя обращаться к этим методам. Я понятия не имею где и зачем это может понадобиться. Я всегда пишу B b = new B();
" и так наследует свойства и методы класса А" наследовать-то может и наследует, но они могут быть переопределены. если использовать A b=new A(); то вывести в консоль asdasd уже не получится (будет только Den). Да и сам класс A может быть объявлен абстрактным (в т.ч. интерфейсом), в этом случае такое объявление будет некорректным.
Почему имеет смысл не писать B b=new B(); - хорошо ответил Serg_SW
Писать  B b=new B(); имеет смысл только тогда, когда вам потребуется доступ к методам, которые есть у B, но отсутствуют у A. ответ lexx_ryazanov тоже в тему, надо только понимать, что в решении конкретной задачи важнее - универсальность подхода, или специфика реализации.


12 лет назад

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

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

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