第三章知識点のまとめ

3693 ワード

1.オブジェクトイニシエータ
コンストラクション関数を呼び出すときにオブジェクトを直接初期化します.
 
public class Student

{

    public string Name;

    public int Age;

    public bool Gender;

}







Student stu=new Student{Name="zhangsan",Age=10,Gender=false};

同等:
Student stu=new Student();

stu.Name="zhangsan";

stu.Age=10;

stu.Gender=false;

2.thisとbase
これはクラスインスタンス自体を参照します.
 
public class Student

{

  string name;

  public Test(string name){this.name=name;}

}

ベースの役割:1.サブクラスからリロードされたベースクラスメソッドメンバー2にアクセスする.ベースクラスの構築方法を呼び出す
本の例を引用します.
public class Asset

{

   public string name;

   public virtual decimal Liability{ get { return 0; } }

}



public class Home : Asset

{

   public decimal Mortgage;

    public override decimal Liability

    {

        get { return base.Liability + Mortgage; }

    }

}

3.梱包と解体
梱包は、値タイプを参照タイプに変換します.
   int num=10;
   object obj = x;//intタイプを箱詰めする
ボックスの取り外しは、参照タイプを値タイプに変換します.
  object obj = 10;
  int num= (int)obj;
梱包と解体の本質はコピーです.梱包は値タイプのインスタンスを新しいオブジェクトにコピーし、解体はオブジェクトの内容を数値タイプのインスタンスにコピーします.
 
 4. コヒーレントとインバータ
コンシステント:AがBのサブクラスであると仮定し、C如果可以参照C换成的话,可以称C为C.    IAbc a = ... ;     IAbc b = a; IAbcはコヒーレントクラスである.网络员:A是B的萨布克拉斯,如果C可以参照变换的话,C称为网络员克拉斯.