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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杞文明 高级黑马   /  2013-3-20 09:10  /  1339 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们可以通过虚方法、抽象类、接口这三个来实现多态, 那么这个三种方法他们的各自的优缺点是什么???
在什么情况下使用虚方法,什么情况下使用抽象类、什么情况下使用接口最合适?????

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

1 个回复

正序浏览
虚方法、抽象类、接口都能实现多态。但遵循一个原则,能用接口不用抽象类,能用抽象类不用普通类
如果父类也有自己的行为,需要被实例化,则用virtual修饰需要被子类override的方法;
如果父类不需要实例化,但它具有自己的属性和行为,此外,还具有需要子类实现的方法,则用abstract修饰需要被override的方法和该类;
如果有一个功能,不同的类有不同的表现形式,则可以用接口,用子类去实现接口。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马