C#编程之接口
2016-06-10 11:08
232 查看
1.定义
接口是把公共方法和属性组合起来,以封装特定功能的一个集合。(一旦定义了接口,就可以在类中实现它。这样类就可以支持接口所指定的所有属性和成员)
注意1:接口不能单独存在。不能像实例化一个类那样实例化一个接口。另外接口不能包含实现其成员的任何代码,只能定义成员本身。实现过程必须在实现接口的类中实现。
注意2:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。
定义接口:
继承并实现接口:
使用接口:
请注意我们把它们声明为接口的引用的方式,而没有声明为类的引用,为什么呢?因为,这样我们就可以让它指向执行这个接口的任何类的实例了,比较灵活。但这也有个缺点,如果我们要执行不属于接口的方法,比如这里重载的ToString()方法,就要先把接口的引用强制转换成合适的类型了。
接口是把公共方法和属性组合起来,以封装特定功能的一个集合。(一旦定义了接口,就可以在类中实现它。这样类就可以支持接口所指定的所有属性和成员)
注意1:接口不能单独存在。不能像实例化一个类那样实例化一个接口。另外接口不能包含实现其成员的任何代码,只能定义成员本身。实现过程必须在实现接口的类中实现。
注意2:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。
定义接口:
继承并实现接口:
使用接口:
请注意我们把它们声明为接口的引用的方式,而没有声明为类的引用,为什么呢?因为,这样我们就可以让它指向执行这个接口的任何类的实例了,比较灵活。但这也有个缺点,如果我们要执行不属于接口的方法,比如这里重载的ToString()方法,就要先把接口的引用强制转换成合适的类型了。
相关文章推荐
- C# winform ComboBox绑定数据源时触发SelectedIndexChanged事件的处理
- C# 7.0 新特性1: 基于Tuple的“多”返回值方法
- C#设计模式—抽象工厂模式
- C#—绘制图形
- 备忘录模式
- 建造者模式
- C# 数据类型
- VS2008 C# 开发ActiveX控件总结
- 外观模式
- TemplateText TT 在Runtime发生 Could not load type ...... because the format is invalid
- C#—图形图像编程基础
- 原型模式深复制浅复制
- C#日记——正则表达式(以检测邮箱和手机号格式为例)
- 代理模式
- 策略模式
- C#中图片、二进制与字符串的相互转换方法
- C#使用WinRar命令进行压缩和解压缩操作的实现方法
- C# DataGridView绑定数据源
- C#日记——委托
- C#实现可捕获几乎所有键盘鼠标事件的钩子类完整实例