公司内部例会讲稿
click below to go directly to a specific section:重载与重写 | 静态构造函数 | 只读代理 【程序编程相关:臆断B/S开发技术选择的心态】
tips 【推荐阅读:sqlserver 海量数据导入的最快方】
重载与重写 【扩展信息:以C的精神(上)】同步代理 | 资源管理 | 内存管理
问题 日常讨论中,术语的不统一带来些许混乱 惯用的表达 overload 重载 函数名称相同,参数不同(严格的定义还有其它一些限制) 静态决议 override 重写(覆写,覆盖,改写) 子类重新定义父类定义过的虚函数(个别语言允许返回值,访问级别可以不同) 动态决议 示例 class base { } class derived:base { } class client { void test(base obj){ console.writeline("base"); } void test(derived obj){ console.writeline("derived"); } static void main(string[] args) { base obj = new derived(); new client().test(obj); //输出“base” } }静态构造函数
问题1,在工具类中,通常有一些初始化需要在任何静态方法被调用前进行,如配置信息的读取
2,普通类中的复杂的静态信息,需要在任何实例方法被调用前初始化
我见过的解决方法
1,在每个静态方法中都调用必需的初始化步骤 public class someutilclass { private someutilclass(){ } ... 下一页