黑马程序员技术交流社区
标题:
【每日一贴】虚方法与抽象类的区别
[打印本页]
作者:
cancle
时间:
2014-3-10 22:37
标题:
【每日一贴】虚方法与抽象类的区别
虚方法:
--- 用virtual修饰
---要有方法体
---可以被子类override重写
---除了密封类以外都可以重写
抽象类:
---用abstract修饰
---不允许有方法体
--- 所有抽象成员必须被子类override重写
---抽象成员只能存在于抽象类中
注意:抽象类,接口,静态成员不允许实例化
可是什么时候用虚方法,什么时候用抽象类呢?
我认为如果像人,中国人,美国人这样可以提取出来父类的话,用虚方法就可以,因为人类有的中国人,美国人都有。虚方法可以由程序员来控制是否覆盖重写。
而当碰上猫,狗的叫声之类的问题时,首先猫跟狗的叫声就不一样。我们就要从这两个类中提取个父类动物类,但是动物类的叫声有很多种,这种情况下我们可以把动物的叫声做成抽象方法,但是抽象由于抽象成员只能存在于抽象类中,所以我们把动物这个类就抽象化了。
---------------额,文笔不咋地,各位见谅啊~~
作者:
许庭洲
时间:
2014-3-11 13:07
值得学习ing!
作者:
昕☆Rainbow
时间:
2014-7-16 13:53
抽象类中可以有非抽象方法可以有方法体,另外抽象类也可以被另一个抽象类继承就可以不实现抽象方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2