码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象之多态性

时间:2015-05-13 18:34:36      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:

多态性:
指在基类中定义的属性和方法被子类继承后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在基类及其各子类中具有不同的语义。

定义一个抽象模板,子类通过覆写方法来实现不同的行为


使用方法的重载(overloading)和覆盖(Overriding) 实现类的多态性。
方法重载
在一个类中出现多个方法名相同,参数个数或参数类型不同的方法
根据参数个数或类型来区分具体执行那个方法。
方法覆盖(重写)
指父类和子类之间的关系,子类方法与父类方法名相同,那么子类就不能继承父类的方法,此时成为子类方法覆盖了父类的方法。
通过覆盖可以使一个方法在不同子类中表现出不同的行为。


覆盖原则:
1.子类不能覆盖父类中声明为final 或者static的方法
2.子类必须覆盖父类中声明为abstract 的方法,或者子类也必须声明为abstract
3.子类覆盖父类中的同名方法时,子类的方法声明也必须和父类中被覆盖的方法的声明相同。

面向对象之多态性

标签:

原文地址:http://www.cnblogs.com/jiechn/p/4500906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!