Преимущество полиморфизма [закрыто]

Когда я начал искать преимущества полиморфизма, я нашел с этотвопрос здесь. Но здесь я не смог найти свой ответ. Позвольте мне сказать, что я хочу найти. Здесь у меня есть несколько классов:

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()?

70
задан Community 23 May 2017 в 12:17
поделиться