简而言之,“能够重载方法”并不意味着就“应该重载方法”。
一般情况下,对于多个具有相同参数数目的方法来说,应该尽量避免重载方法。
在某些情况下,特别是涉及构造函数的时候,要遵循这调建议是不可能的。在这种情况下,至少应该避免这样的情况:同一组参数只要经过类型转换就可以被传递给不同的重载方法。
如果不能避免这种情况,例如,因为正在改造一个现有的类似实现新的接口,就应该保证:如果当传递同样的参数是,所有重载方法的行为必须一致。
如果不能做到这一点,程序员就很难有效地使用被重载的方法或者构造器,他们就不能理解它为什么不能正常地工作。
摘自Effective Java Second Edition,由机械工业出版社出版。
分享到:
相关推荐
7.2 慎用goto语句 7.3 while语句 7.3.1 带运算符的while语句 7.3.2 以字符为条件的while语句 7.3.3 限定while循环的次数 7.3.4 continue语句 7.3.5 break语句 7.3.6 永不休止的while循环 7.4. do……while循环 7.5 ...
7.2 慎用goto语句 7.3 while语句 7.3.1 带运算符的while语句 7.3.2 以字符为条件的while语句 7.3.3 限定while循环的次数 7.3.4 continue语句 7.3.5 break语句 7.3.6 永不休止的while循环 7.4. do……while...
应该慎用友元。 掌握类和对象定义的方法: * 类的定义:class 类名{private: ...; protected: ...; public: ...;}; * 对象的定义:类名 对象名; * 成员的定义:数据成员、成员函数、静态数据成员、静态成员函数等...
#### 一、慎用匿名namespace **背景介绍:** 匿名namespace是C++中的一种特性,旨在为特定的作用域内的标识符提供唯一性,避免命名冲突。通常在单个源文件中,为了实现局部变量或者函数的全局可见性但又希望限制其...
第四章涉及表达式和基本语句,包括运算符优先级、复合表达式、IF语句、高效循环语句、FOR语句的循环控制变量、SWITCH语句的使用以及GOTO语句的慎用,这些都是编程中基础但至关重要的概念。 第五章讲解了常量的使用...
2. 慎用全局变量:全局变量容易导致命名冲突和难以调试的问题,应尽量避免使用。 3. 委托构造函数:利用一个构造函数调用另一个构造函数,可以简化代码并确保一致性。 4. 避免隐式类型转换:默认构造函数和隐式类型...
8. **预处理宏的慎用**:解释了预处理宏的潜在问题,提倡使用类模板和inline函数来替代,以提高代码可读性和维护性。 9. **异常安全编程**:讨论了异常处理对性能的影响,提出了基本异常安全、强烈异常安全和无异常...
在表达式和基本语句部分,指南讲解了运算符优先级、复合表达式的使用,以及条件语句(如if语句)、循环语句的效率考量、for语句中的循环控制变量的管理、switch语句的正确用法,甚至对goto语句的慎用提出了建议,...
- IF、循环、SWITCH等语句的高效使用技巧,以及GOTO语句的慎用原则,提升程序执行效率。 ### 常量与函数设计 #### 常量 - 强调常量的重要性,对比CONST与#DEFINE,提供常量定义规则,增强代码稳定性。 #### 函数...
慎用预处理器宏,优先使用模板和常量表达式。 11. **命名空间**:有效地使用命名空间来减少名字冲突,了解匿名命名空间和作用域解析运算符::的用法。 12. **对象状态**:确保对象在其生命周期内的状态始终有效,...
指南深入讲解了表达式和基本语句的正确使用方法,包括运算符优先级、复合表达式、条件语句(IF)、循环语句的效率优化、控制变量的使用、选择语句(SWITCH)、以及GOTO语句的慎用。对于函数设计,指南提供了参数、返回值...
谷歌规范还指出,应当慎用多重继承,因为它会引入复杂性。在继承关系中,接口的定义需要清晰,操作符重载应当合理,存取控制(public、protected、private)要恰当,成员函数的声明顺序通常应遵循一种逻辑顺序,如先...
第4章涉及表达式和基本语句的使用,如运算符优先级、复合表达式、IF语句、循环语句的效率、FOR语句中的循环控制变量、SWITCH语句以及GOTO语句的慎用,这些都是编写高效、无误代码的基础。 第5章介绍了常量的使用,...
第4章涉及表达式和基本语句,如运算符优先级、复合表达式、条件语句(IF)、循环效率、FOR语句的循环变量管理、SWITCH语句和GOTO语句的慎用,这些都是编写高效和易于理解代码的关键。 第5章阐述了常量的使用,包括...
第4章探讨了表达式和基本语句,如运算符的优先级,复合表达式的使用,if语句的逻辑控制,循环语句的效率优化,for循环中的控制变量,switch语句的条件判断,以及goto语句的慎用。这部分内容有助于编写高效且易于理解...