读书笔记_C#技术内幕_第九章(重载类成员和操作符)
2008-08-21 14:37
381 查看
overload是程序在同一个类中定义同一名称的多个成员的能力。在这个被重载的成员之间的唯一差别是它们具有不同的参数类型、不同的参数数量或者两者皆不同。
overloading与overriding的区别:
overriding中,运行时刻派生类成员能够代替同一名称的基类成员实现功能。它是程序中实现多态性的一种方法。
overloading对类的用户提供灵活性,使他们能够以方便和直观的方式调用方法。
重载操作符:
可以被重载的一元操作符:
+ - ! ~ ++ -- true false
前缀(++)和后缀(--)不能被单独地重载
可以被重载的二元操作符:
+ - * / % & | ^ << >> == != > < >= <=
不能被重载的操作符:
. f() [] = && || ?: new sizeof typeof as is checked unchecked ->
条件逻辑操作符不能够被重载,但是能够使用“&”和“|”进行计算。“&”和“|”可以重载。
复合操作符不能被显式地重载。然而,当二元操作符重载时,就假定它的对应的复合操作符具有同样的重载行为。如,当二元操作符“+”重载时,“+=”也重载。
“==”和“!=”,“>”和“<”,“>=”和“<=”必须同时被重载。
重载操作符时在操作符前加operator。如 operator+
overloading与overriding的区别:
overriding中,运行时刻派生类成员能够代替同一名称的基类成员实现功能。它是程序中实现多态性的一种方法。
overloading对类的用户提供灵活性,使他们能够以方便和直观的方式调用方法。
重载操作符:
可以被重载的一元操作符:
+ - ! ~ ++ -- true false
前缀(++)和后缀(--)不能被单独地重载
可以被重载的二元操作符:
+ - * / % & | ^ << >> == != > < >= <=
不能被重载的操作符:
. f() [] = && || ?: new sizeof typeof as is checked unchecked ->
条件逻辑操作符不能够被重载,但是能够使用“&”和“|”进行计算。“&”和“|”可以重载。
复合操作符不能被显式地重载。然而,当二元操作符重载时,就假定它的对应的复合操作符具有同样的重载行为。如,当二元操作符“+”重载时,“+=”也重载。
“==”和“!=”,“>”和“<”,“>=”和“<=”必须同时被重载。
重载操作符时在操作符前加operator。如 operator+
相关文章推荐
- Visual C# 技术内幕学习笔记 第二章 C#基础(2) 类成员
- 读书笔记_C#技术内幕_第七章(类的使用)
- 读书笔记_C#技术内幕_第十五章(执行转换)
- 读书笔记_C#技术内幕_第二十八章(反射)
- 读书笔记_C#技术内幕_第八章(设计面向对象的程序)
- 读书笔记_C#技术内幕_第十一章(委托和事件)(委托部分)
- 读书笔记_C#技术内幕_第十七章(文件的输入/输出和串行化)
- 读书笔记_C#技术内幕_第三十章(不安全代码和平台调用)
- 读书笔记_C#技术内幕_第十一章(委托和事件)(事件部分)
- 读书笔记_C#技术内幕_第二十三章(多线程)
- 读书笔记_C#技术内幕_第二十九章(本地化和资源)
- 读书笔记_C#技术内幕_第十二章(使用命名空间组织代码)
- 读书笔记_C#技术内幕_第二十五章(字符串操作)(String类)
- 读书笔记_C#技术内幕_剩余章节
- 读书笔记_C#技术内幕_第二章
- 读书笔记_C#技术内幕_第十三章(创建结构)
- 读书笔记_C#技术内幕_第二十五章(字符串操作)(StringBuilder,字符串格式化)
- 读书笔记_C#技术内幕_第十四章(实现接口)
- 读书笔记_C#技术内幕_第二十六章(C#集合)
- 读书笔记_C#技术内幕_第三章(C#表达式)