[note]抽象类和接口的相同点和不同点
2009-02-20 17:42
183 查看
今天偶尔看到以前的笔记,所谓温故而知新所以记录一下,以便以后查阅。
抽象类和接口的相同点和不同点
相同点:
1.都不能被直接实例化,都可以通过继承实现其抽象方法
2.都是面向对象的技术基础,实现了诸多设计模式
不同点:
1.接口支持多继承,抽象类不能实现多继承。
2.接口只能定义抽象规则,抽象类即可以定义抽象规则还可以提供已实现的方法。(即:接口只能定义虚拟方法,而抽象类即可定义虚拟方法,还可提供实方法。)
3.接口是一组行为规范,抽象类是一个不完整的类(着重族的概念)。
4.接口可以支持回调,抽象类不能实现回调因为继承不支持--这里还不太理解
5.接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性,包含实现的方法。
6.接口可以用于值类型和引用类型;抽象类只能作用于引用类型。例sturct就可以继承接口而不能继承类
抽象类和接口的相同点和不同点
相同点:
1.都不能被直接实例化,都可以通过继承实现其抽象方法
2.都是面向对象的技术基础,实现了诸多设计模式
不同点:
1.接口支持多继承,抽象类不能实现多继承。
2.接口只能定义抽象规则,抽象类即可以定义抽象规则还可以提供已实现的方法。(即:接口只能定义虚拟方法,而抽象类即可定义虚拟方法,还可提供实方法。)
3.接口是一组行为规范,抽象类是一个不完整的类(着重族的概念)。
4.接口可以支持回调,抽象类不能实现回调因为继承不支持--这里还不太理解
5.接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性,包含实现的方法。
6.接口可以用于值类型和引用类型;抽象类只能作用于引用类型。例sturct就可以继承接口而不能继承类
相关文章推荐
- .net接口和抽象类的相同点和不同点
- 抽象类和接口的相同点和不同点,学习笔记
- 接口和抽象类之间的相同点和不同点
- Java 抽象类和接口的相同点和不同点
- 接口与抽象类的相同点和不同点
- android retrofit 实战自定义converter,解决相同接口返回不同数据的问题
- kotlin基础5---面向对象抽象类和接口的不同
- Java的接口和C++的虚类的相同和不同处。
- 关于抽象类和接口中含有相同方法的实现的一点思考
- Java的接口和C++的虚类的相同和不同处
- 【转】C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别
- c++虚类相当与java里面的抽象类,与接口的不同之处
- android retrofit 实战自定义converter,解决相同接口返回不同数据的问题
- C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别
- android retrofit 实战自定义converter,解决相同接口返回不同数据的问题
- c#中抽象类和接口的相同点跟区别
- 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口
- 抽象类(abstract class)与接口(interface)之间有什么不同?
- 接口与抽象类的不同
- Android解析相同接口返回不同格式json数据的方法