(原创)c#学习笔记08--面向对象编程简介02--OOP技术05--运算符重载
2015-11-03 11:57
876 查看
[b]8.2.5 运算符重载[/b]
本书前面介绍了如何使用运算符处理简单的变量类型。有时也可以把运算符用于从类实例化而来的对象,因为类可以包含如何处理运算符的指令。
例如,给Animal添加一个新属性Weight,接着使用下述代码比较家禽的体重:
使用运算符重载,可以在代码中提供隐式使用Weight属性的逻辑,如下面的代码所示:
大于运算持>被重载了。我们为重载运算符编写代码,执行上述操作,这段代码用作类定义的一部分,而该运算符作用于这个类。在上面的示例中,使用了两个Cow对象,所一运算符重载定义包含在Cow类中。也可以重载运算符,以相同的方式处理不同的类,其中一个(或两个)类定义包含达到这一目的的代码。
注意,只能采用这种方式重载现有的C#运算符,不能创建新的运算符。但是,可以为一元和二元运算符(如+)提供实现代码。详见第13章。
本书前面介绍了如何使用运算符处理简单的变量类型。有时也可以把运算符用于从类实例化而来的对象,因为类可以包含如何处理运算符的指令。
例如,给Animal添加一个新属性Weight,接着使用下述代码比较家禽的体重:
if (cowA.Weight > cowB.Weight) { ... }
使用运算符重载,可以在代码中提供隐式使用Weight属性的逻辑,如下面的代码所示:
if (cowA > cowB) { ... }
大于运算持>被重载了。我们为重载运算符编写代码,执行上述操作,这段代码用作类定义的一部分,而该运算符作用于这个类。在上面的示例中,使用了两个Cow对象,所一运算符重载定义包含在Cow类中。也可以重载运算符,以相同的方式处理不同的类,其中一个(或两个)类定义包含达到这一目的的代码。
注意,只能采用这种方式重载现有的C#运算符,不能创建新的运算符。但是,可以为一元和二元运算符(如+)提供实现代码。详见第13章。
相关文章推荐
- C# 命名规范
- 基于gdal用c#读取hdf4文件
- C#读取HDF5文件.doc
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术04--对象之间的关系
- c# 内存溢出错误
- C# 匿名类型的基本特征
- C#中的 == 和equals()区别浅析
- C# 拷贝文件到另一个目录
- c#视频位置
- C#中的List<string>泛型类示例
- C#文件(夹)基本操作
- C# 如何判断系统是否是静音
- c# 泛型
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术03--多态性
- C#第五天
- C# API 大全(简版)
- c#写入文件流
- c# API大全(三)
- C#中combobox 控件属性、事件、方法
- C# API 大全(二)