接口和抽象类
来源:互联网 发布:js的面向对象编程 编辑:程序博客网 时间:2024/05/21 08:04
接口和抽象类
今天自学了一下接口,从第一次接触接口又进一步理解接口的原理。想到接口或许我们更多的是想到和类的对比,而类中抽象类和接口又更为相似。现在我讲下我对接口和抽象类的理解。
如果单从具体代码来看,对这两个概念很容易模糊,甚至觉得接口就是多余的,因为单从具体功能来看,除多重继承外(C#),抽象类似乎完全能取代接口。但是,难道接口的存在是为了实现多重继承?当然不是。个人觉得抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。所以,如果当为某个地方该使用接口还是抽象类而犹豫不决时,那么可以想想你的动机是什么。
如果我们的项目中有Women和Man,都继承Person,而且Women和Man绝大多数方法都相同,只有一个方法Play()不同,那么当然定义一个AbstractPerson抽象类比较合理,因为它可以把其他所有方法都包含进去,子类只定义Play(),大大减少了重复代码量。
总的来说,两者最大的区别是抽象类中的方法可以有具体的实现,而接口不可以。
- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 接口和抽象类
- sqlserver发布注意事项
- HJCache: iPhone cache library for asynchronous image loading and caching(上)
- Android模拟器永久删除卸载系统APK(Windows & Linux平台)
- 最近一些
- java学习笔记《java面向对象编程》——面向对象开发方法概述
- 接口和抽象类
- abstract interface和interface中的abstract 方法
- ACM非前缀编码 C++实现
- 带你走进缓存世界(6):共享缓存
- jQuery 动态操作表单数据
- 20111101学习总结:
- 购物车的实现
- JSP(二)
- 购物车的实现原理