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