A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


虚方法:
--- 用virtual修饰
---要有方法体
---可以被子类override重写
---除了密封类以外都可以重写
抽象类:
---用abstract修饰
---不允许有方法体
--- 所有抽象成员必须被子类override重写
---抽象成员只能存在于抽象类中
注意:抽象类,接口,静态成员不允许实例化


可是什么时候用虚方法,什么时候用抽象类呢?
我认为如果像人,中国人,美国人这样可以提取出来父类的话,用虚方法就可以,因为人类有的中国人,美国人都有。虚方法可以由程序员来控制是否覆盖重写。

而当碰上猫,狗的叫声之类的问题时,首先猫跟狗的叫声就不一样。我们就要从这两个类中提取个父类动物类,但是动物类的叫声有很多种,这种情况下我们可以把动物的叫声做成抽象方法,但是抽象由于抽象成员只能存在于抽象类中,所以我们把动物这个类就抽象化了。


---------------额,文笔不咋地,各位见谅啊~~
  

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1 继续加油。。

查看全部评分

2 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
抽象类中可以有非抽象方法可以有方法体,另外抽象类也可以被另一个抽象类继承就可以不实现抽象方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马