当我开始寻找多态性的好处时,我在这里发现了这个问题。但是在这里我找不到答案。让我告诉我想找到什么。这里有一些课程:
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类中创建了两个对象,它们是的引用Refrigerator
。我已经完全理解,可以从rf
对象中调用trip()
方法Refrigerator
,但是该方法对于cm
对象是隐藏的。现在我的问题是为什么我应该使用多态性或为什么要使用
CoolingMachines cm = new Refrigerator();
当我同意的时候
Refrigerator rf = new Refrigerator();
多态物体的效率好还是重量轻?这两个对象的基本目的和区别是什么?有什么区别cm.start();
和rf.start()
?