什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别
2012-10-16 14:17
615 查看
什么是接口?
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为
接口是这样定义的: 接口,里面包含方法,但是没有方法的具体实现。
然后在继承该接口的类中 去实现接口中的所有方法。包括 属性、方法、事件、索引器,但是不能包括字段;
接口中只能包含 属性、方法、事件、索引器;
接口可以实现C# 中的多继承。(c#不可以多继承,用接口可以实现) 接口可以继承接口,可以继承多个接口;
类可以继承接口,但是继承的类必须去实现接口中的方法代码。
接口不能直接被实例化
接口一般不用什么修饰符,因为接口默认的修饰符是 public 公共的。
接口中的所有成员默认为public,因此接口中不能有private修饰符
接口的好处:
对类的一种约束。
如果一个项目的需求可能在不断变化的情况下,用接口可以很容易进行拓展,并不影响以前写的功能模块的代码,只要新添加类,继承这个接口就可以了。
如果每个类都要用到一些公用的属性字段或者方法,则通过继承接口可以方便的实现,不用再每个类中都写一次公用的属性或方法。
接口中不能包含【常量、字段(域)、构造函数、析构函数、静态成员】
抽象类(abstract)和接口(interface)的区别:
abstract 类 和接口类似,
抽象类中定义方法,只有方法名,但不包含主体,不包含实现,和接口一样,
可以把抽象方法当作没有具体实现的虚方法。
抽象类不能被实例化。这个接口一样,
抽象类中并非一定有抽象方法,但是 有抽象方法的类, 一定是抽象类。
派生类必须覆盖基类的抽象方法,(也就是子类去实现继承类中的方法)
抽象类中可以包含:属性、普通方法、可以包含虚方法、抽象方法
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为
接口是这样定义的: 接口,里面包含方法,但是没有方法的具体实现。
然后在继承该接口的类中 去实现接口中的所有方法。包括 属性、方法、事件、索引器,但是不能包括字段;
接口中只能包含 属性、方法、事件、索引器;
接口可以实现C# 中的多继承。(c#不可以多继承,用接口可以实现) 接口可以继承接口,可以继承多个接口;
类可以继承接口,但是继承的类必须去实现接口中的方法代码。
接口不能直接被实例化
接口一般不用什么修饰符,因为接口默认的修饰符是 public 公共的。
接口中的所有成员默认为public,因此接口中不能有private修饰符
接口的好处:
对类的一种约束。
如果一个项目的需求可能在不断变化的情况下,用接口可以很容易进行拓展,并不影响以前写的功能模块的代码,只要新添加类,继承这个接口就可以了。
如果每个类都要用到一些公用的属性字段或者方法,则通过继承接口可以方便的实现,不用再每个类中都写一次公用的属性或方法。
接口中不能包含【常量、字段(域)、构造函数、析构函数、静态成员】
抽象类(abstract)和接口(interface)的区别:
abstract 类 和接口类似,
抽象类中定义方法,只有方法名,但不包含主体,不包含实现,和接口一样,
可以把抽象方法当作没有具体实现的虚方法。
抽象类不能被实例化。这个接口一样,
抽象类中并非一定有抽象方法,但是 有抽象方法的类, 一定是抽象类。
派生类必须覆盖基类的抽象方法,(也就是子类去实现继承类中的方法)
抽象类中可以包含:属性、普通方法、可以包含虚方法、抽象方法
相关文章推荐
- 什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别
- 4.2.8 抽象类(abstract class)与接口(interface)有什么异同【Part3:区别】
- c#中抽象类(abstract)和接口(interface)的相同点跟区别
- 抽象类(abstract)与接口的区别(interface)
- 抽象类(abstract)和接口(interface)的区别
- 抽象类(abstract)和接口(interface)的区别
- 抽象类abstract与接口interface的区别
- [Java] 接口(Interface)与 抽象类 (Abstract)使用规则和区别
- 类(class),抽象类(abstract), 接口(interface)的关系和区别
- 抽象类(abstract)和接口(interface)的区别
- the Differences between abstract class & interface in C#接口和抽象类的区别
- 抽象类(abstract)和接口(interface)的区别
- 面向对象多态的实现(抽象类Abstract和接口Interface的用法区别)
- 抽象类(abstract)和接口(interface)的区别
- PHP的接口类(interface)和抽象类(abstract)的区别
- 基本概念的澄清 1。抽象类与接口在设计时各有什么好处? 2。静态方法与实例方法的区别(论坛帖抽取)
- 抽象类(abstract)和接口(interface)的区别
- 抽象类abstract与接口interface的区别
- 抽象类(abstract)与接口(interface)的区别?
- 抽象类(abstract)和接口(interface)的区别