Когда я начал искать преимущества полиморфизма, я нашел с этотвопрос здесь. Но здесь я не смог найти свой ответ. Позвольте мне сказать, что я хочу найти. Здесь у меня есть несколько классов:
class CoolingMachines{
public void startMachine(){
//No implementationion
}
public void stopMachine(){
//No implementationion
}
}
class Refrigerator extends CoolingMachines{
public void startMachine(){
System.out.println("Refrigerator Starts");
}
public void stopMachine(){
System.out.println("Refrigerator Stop");
}
public void trip(){
System.out.println("Refrigerator Trip");
}
}
class AirConditioner extends CoolingMachines{
public void startMachine(){
System.out.println("AC Starts");
}
public void stopMachine(){
System.out.println("AC Stop");
}
}
public class PolymorphismDemo {
CoolingMachines cm = new Refrigerator();
Refrigerator rf = new Refrigerator();
}
Здесь я создал два объекта в классе Demo и являются ссылками на Холодильник
. Я полностью понял, что из объекта rf
я могу вызвать метод trip()
для Refrigerator
, но этот метод будет скрыт для см
объект. Теперь мой вопрос: почему я должен использовать полиморфизм или почему я должен использовать
CoolingMachines cm = new Refrigerator();
, когда я согласен с
Refrigerator rf = new Refrigerator();
Является ли эффективность полиморфного объекта хорошей или легкой? Какова основная цель и разница между обоими этими объектами? Есть ли разница между cm.start();
и rf.start()
?