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 就是 拿到的度机箱实例

 

七八 读了 一遍说的 是虚函数会引发的 版本问题、 如有机会再续上笔记。

 

posted @ 2016-11-15 21:01  梁志铭  阅读(206)  评论(0)    收藏  举报