C#学习笔记(四):接口和代理
2006-11-03 18:26
162 查看
接口
1、接口的声明
1)语法:[修饰符] interface 接口名称[:父接口名称]{代码};
2)要点:
a、声明接口成员的时候,不可以为接口成员指明任何访问修饰符;
b、不可以为成员实例化任何代码
2、接口的使用
1)使用一个接口只有通过类的继承来实现
2)子类不仅可以从父类继承,还可以从接口继承
3)当一个类从接口继承之后,必须在子类中实例化父接口中的所有成员
3、接口与抽象类的比较
1)在接口中,不能声明域或者私有变量
2)声明接口成员时,不能使用任何访问修饰符
3)接口一旦被继承,则在子类中必须实例化所有成员,而抽象类则可以根据需要重载部分成员
4)接口允许多重继承
5)接口相对抽象类具有更高的抽象层次
4、System命名空间的常用接口
1)ICloneable:Clone方法
2)IComparable:CompareTo方法
3)IConvertable:
4)IFormatable:Format方法
代理
1、代理的声明
[修饰符]delegate 返回类型 代理名称(参数列表);
2、代理的使用
使用new运算符创建一个代理对象,同时为代理对象指明引用的方法名称
3、System.Delegate类
Method和Target属性
4、事件
修饰符 event 类型 标识符
修饰符 event 类型 标识符{get{};set{};}
声明和使用一个事件需要如下步骤:
1)创建一个代理或者使用系统代理:EventHandler
2)在类的内部利用event关键字声明事件,并在类中定义调用事件的方法
3)声明多个方法与事件关联
1、接口的声明
1)语法:[修饰符] interface 接口名称[:父接口名称]{代码};
2)要点:
a、声明接口成员的时候,不可以为接口成员指明任何访问修饰符;
b、不可以为成员实例化任何代码
2、接口的使用
1)使用一个接口只有通过类的继承来实现
2)子类不仅可以从父类继承,还可以从接口继承
3)当一个类从接口继承之后,必须在子类中实例化父接口中的所有成员
3、接口与抽象类的比较
1)在接口中,不能声明域或者私有变量
2)声明接口成员时,不能使用任何访问修饰符
3)接口一旦被继承,则在子类中必须实例化所有成员,而抽象类则可以根据需要重载部分成员
4)接口允许多重继承
5)接口相对抽象类具有更高的抽象层次
4、System命名空间的常用接口
1)ICloneable:Clone方法
2)IComparable:CompareTo方法
3)IConvertable:
4)IFormatable:Format方法
代理
1、代理的声明
[修饰符]delegate 返回类型 代理名称(参数列表);
2、代理的使用
使用new运算符创建一个代理对象,同时为代理对象指明引用的方法名称
3、System.Delegate类
Method和Target属性
4、事件
修饰符 event 类型 标识符
修饰符 event 类型 标识符{get{};set{};}
声明和使用一个事件需要如下步骤:
1)创建一个代理或者使用系统代理:EventHandler
2)在类的内部利用event关键字声明事件,并在类中定义调用事件的方法
3)声明多个方法与事件关联
相关文章推荐
- Java中反射动态代理接口的详解及实例
- Spring之AOP的实现(JDK动态代理:只能代理接口,不能代理类)
- Vue2+VueRouter2+Webpack+Axios 构建项目实战(六)将接口用 webpack 代理到本地
- CGLIB无接口动态代理
- 浅谈抽象与接口(含工厂、适配器、代理模式应用)
- [Java] 动态代理 03 --(解决接口也当参数传)
- 利用RIL代理接口实现短信的操作之短信的接收(转)
- Dubbo原理解析-代理之接口定义
- C#学习笔记(三):抽象类和接口
- 【经验随笔】Java通过代理访问互联网平台提供的WebService接口的一种方法
- python 免费http代理服务接口
- 动态代理1 (JDK 需要实现接口)
- Mybatis学习(2)原始dao开发和使用mapper接口代理开发
- JAVA基础【6.5】《Java核心技术1》接口与内部类-代理
- 接口的代理设计模式
- Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
- 关于前端的,关于接口代理
- Java动态代理实现接口方法
- webpack+vue-cil 配置接口地址代理以及将项目打包到子目录的方法
- JDK动态代理源码及源码剖析之为什么只能代理接口