2016-11-15(3)(C#相关)---方法
方法
一:实例构造方法
当创建一个引用类型的实例时候,会执行三个步骤。1>给实例分配内存 2>初始化对象的附加成员 3>调用类型的实例构造器初始化对象的初始状态
会自动生成默认的无参构造器。
类内直接初始化写法 。实际上也是调用了构造函数 反而代码臃肿。
值类型不会有默认的无参构造,要构造必须将每一个值都赋值。

二:类型构造器
类型构造器 在前面加上一个static 当第一次访问类的时候进入。
默认是private,也不让加访问修饰符。

类型构造器只调用一次。CLR负责调用的构造器.
要避免两个类型构造器互相调用形成死锁。
类型构造器只访问类内的静态变量。其目的也是初始化类内的静态变量。
三:操作符重载
一直在讲支持重载操作符和不支持重载操作符怎么在平台下互通,以及不便之处。这里如果只用C#的话,整个篇幅可以无视。
例: public static ClassType operator +(ClassType other1,ClassType other2){}
四:转换操作符方法
//有参构造 类内函数实现 返回具体属性 ClassTypeToType2

-------------------------------------------转换操作符---------------------------------------
要说明是显示explicit转换 还是隐式implicit转换 用到 public & static


//只有用的时候才能 再理解了。
//然后就出现了 这么四句话= =

//就是 隐式类型转换 和 显示 类型转换 在c#中写法变化
system.decimol //之后遇到这里的问题了 可以用它来练习理解,
五:引用参数
//就是按值传递(数据的副本) 按引用传递(指向其地址) 引用更加真实
C#用 ref 声明变量时引用类型 out 用作输出类型 在函数返回前给其赋值。
ref 和 out 在某种程度上有相同的行为
传递参数时 类型一定要和 函数声明时候的参数类型完全匹配。
六:可变数目参数

params //估计不常用
//不用时候 Add(new Int32[]{1,2,3,4,5}) 用了可以更方便 的 Add(1,2,3,4,5)

//读完上面这段 发现 并没有不常用
//params 应该就是代表了 要传入个数不定的变量 例如 params Int32[], 实在最后一个参数 上 这么定义的。
//如果传入的参数 数目 也不确定 params Object[] objects
//如上面的代码 遍历每个
foreac(Object o in objects);
//o 就是 拿到的度机箱实例
七八 读了 一遍说的 是虚函数会引发的 版本问题、 如有机会再续上笔记。

浙公网安备 33010602011771号