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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态中 Father fu = new Child();为什么父类引用能指向子类??提高代码的扩展性怎么理解???上课的时候老师提到,接口是对外暴露的规则,是程序的功能扩展,怎么理解呢??还有接口为什么能降低耦合性??看自己上课的笔记,真心不理解呀。。亲们,帮忙看看呀

3 个回复

倒序浏览
接口是为了以后扩展功能,接口强制子类实现某项功能
回复 使用道具 举报
1.因为Child是继承Father,所以father类型的引用可以指向child对象,记住就好哇{因为一般子类是在父类的功能上扩充强大,父类类型的引用指向子类对象可以既使用子类的功能又可以抽取父子共性},并且后期还可以在父类基础上不断建立新的子类,提高代码扩展性。
2.其实你可能比较模糊接口和父类的区别,也就是实现和继承。比如一个孩子只能有一个亲生父亲(即只能继承一个类),他和父亲之间有很多共性的特质(比如会覆盖父类方法),也就是耦合性较强,但是孩子可以对应多个老师,不同老师交不同的课程,对你有不同方向的帮助 ,所以说一个类可以实现多个接口,这些接口只是为child提供一些特有功能,耦合性低
回复 使用道具 举报
aurora_bessie 发表于 2015-7-18 16:09
1.因为Child是继承Father,所以father类型的引用可以指向child对象,记住就好哇{因为一般子类是在父类的功能 ...

赞一下楼上的回答。
感觉把父类比作father,把接口比作老师。再贴切不过!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马