close

1.物件就是變數,跟int double ...並無不同。

 

2.使用參考變數參考你的物件

  Guy joe = new Guy();

  joe就是一個變數,將會參考到一個Guy型別之物件。

 

3.物件參考指著誰(詳細可以參考p160)

//class

public class test
{
  public int Money;
  public string Name;
}

//網頁端

protected void Page_Load(object sender, EventArgs e)
{
  test obj1 = new test() { Name = "melo" };
  test obj2 = new test() { Name = "john" };
  //把obj1這個物件參考指向obj2所指之instance,接著垃圾回收機制會把obj1指向之instance給收掉
  obj1 = obj2;
  Response.Write(obj1.Name);
  Response.Write(obj2.Name);
}

範例:可以參考Elepahnt壓縮檔

 

4.陣列也可以包含一堆物件參考

陣列不在乎他存了什麼型別之元素,要建立int or Duck物件陣列都可以。

//宣告dogs變數,存放一群Dog物件之參考:Dog[],接著建立包含7個元素陣列

Dog[] dogs = new Dog[7];

//新增Dog instance放入 index 5

dogs[5] = new Dog();

dogs[0] = new Dog();

範例:可以參考MenuArray

 

5.物件與null

當建立一個新的參考卻未把他指向任何東西,此參考具有null,表示他沒有指向任何instance

ex:

Dog fido; //fido 參考為null

Dog lucky = new Dog();

fido = lucky; //現在fido參考指著lucky(dog物件)

lucky = null; //把lucky設為null,表示他可以被垃圾回收

 

note: 當透過參考改變某個值,其他同為參考此物件之參考存取這個值的時候,會一同受到影響。

ex: 假設rover與spot指向同一個物件,當rover.Breed = beagle時,那麼spot.Breed 也會等於 beagle。 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 melomelo1988 的頭像
    melomelo1988

    melo 唐

    melomelo1988 發表在 痞客邦 留言(0) 人氣()