У меня всегда этот вопрос горит во мне. Почему люди присвоить объекты подкласса суперкласса ссылки, как показано ниже:Назначение объектов подкласса для ссылки на суперкласс?
Что именно являются преимущества и причины, что делает людей сделать это?
public static void main(String[] args)
{
A obj1 = new C(); //Why do this ?
C obj2 = new C(); //When we can simply do this ???
}
class A
{}
class B extends A
{}
class C extends B
{}
Я понимаю всю логику, где собака класса является животным, но животные не являются в основном собаками. Я также наткнулся на эту ссылку: Why assign a subclass object to a superclass reference?, которые задавали подобные вопросы, как мне (но был отмечен как дубликат с не соответствующей ссылке: What does it mean to "program to an interface"?)
В здесь: Why assign a subclass object to a superclass reference? Некоторые неопределенные ответы были даны в качестве причины для этого , К сожалению, более подробные ответы не могли быть даны до того, как они были отмечены дублирующимися с нерелевантной ссылкой.
Надеюсь, кто-то может изучить этот вопрос и дать подробный ответ на вопрос о назначении объектов подкласса ссылке на суперкласс.
Знаете ли вы, что такое полиморфизм и почему он полезен? –
да .. но если у вас есть некоторые идеи, возможно, вы могли бы поделиться им в решении? – user3437460
Прочитать абстрактные классы и их использование ... – StackFlowed