程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 第三章知識點歸納,第三章知識點

第三章知識點歸納,第三章知識點

編輯:C#入門知識

第三章知識點歸納,第三章知識點


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

   this 是引用類實例自身。

 

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


base作用 : 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<A>可以引用轉化成C<B>,那麼稱C為協變類。

    IAbc<string> a = ... ;

    IAbc<object> b = a;

    IAbc<T> 是協變類。

    逆變:假定A是B的子類,如果C<B>可以引用轉化成C<A>,那麼稱C為逆變類。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved