(1)多态的体现:
父类的引用指向了自己的子类对象:Animal c-->new Cat(); //父类变量c指向了子类对象Cat()
##也可以理解为
父类的引用接收了自己的子类对象:Ainmal c = new Cat(); c = Cat();
(2)多态的前提:
1.必须有继承或者实现关系 class Cat extends Animal
2.前提要存在覆盖 (只有子类重写了父类的方法,才可以在调用时体现出多态)
(3)多态的好处和弊端:
好处:提高了程序的扩展性(以后再有对象建立仍然可以直接将对象作为实际参数传递给方法),同时使代码简练
弊端:只能使用父类的引用访问父类中的成员(也就是说只能使用所有对象的公共方法,因为父类没有子类的特有方法,在访问子类的特有方法时会报错)
我感觉没有针对于谁说:就是父类的引用指向子类对象,就是多态的体现
扩展性主要就体现在以后再出现一个类,你想让这个类拥有更多的功能,只要让后出现的类继承这个类或者实现这个接口就可以了,没有必要再自己重新添加功能,这就是提高了扩展性!
还有多态的用法:编译看左边,运行看右边,也就是说只要编译能通过,查阅的都是子类对象的方法...
新人,有理解不对的地方望谅解,希望对你有帮助... |