面向對象—C#高級編程(第10版)學習筆記8

1、第三章 對象和類型ide

一、類和結構的區別:函數

     兩者實際上都是建立對象的模板,每一個對象都包含數據,並提供了處理和訪問數據的方法。都使用new來建立和初始化。spa

    1)類定義了每一個對象(稱爲實例)能夠包含的數據和功能,類是引用類型,老是存儲在堆(heap)上,關鍵字class,對象

          類靜態成員屬於類,實例成員屬於對象。類成員: 字段、屬性(也能夠定義只有get或者set訪問器的屬性)、常量(最好別聲明爲Public,private)、方法、構造函數、索引器、運算符、事件、析構函數、類型(類能夠包含內部類)繼承

     2)而結構是值類型,一般存儲在棧(stack)上,不支持繼承。關鍵字struct索引

二、方法事件

    注意,正式的C#術語區分函數和方法:get

  1C#術語的函數成員:不只包含方法、也包含類或結構的一些非數據成員,如索引器、運算符和構造函數和析構函數等,甚至還有屬性。模板

  2C#術語的數據成員:而字段、常量和事件纔是。class

三、方法重載:overload 方法名相同 參數個數和/或數據類型不一樣,僅經過返回類型或者參數名稱是不足以區分的,方法重載是能夠調用另外一個重載方法

四、方法重寫(覆蓋):override

五、方法參數 :

1)命名的參數

2)可選參數,必須是方法定義的最後參數;int GetSquareOf(int x,int y=1,int z=2){...}

3)個數可變的參數:int AnyNumberOfArguments(params int[] data){...} params Object[] data

 public void AnyNumberOfArguments(params Object[] data)
        {

        }

  調用:AnyNumberOfArguments("123", 456);

4)個數可變的參數+命名參數 則「個數可變的參數」只能使用一次,且必須是方法的最後一個參數

六、構造函數

 能夠爲構造函數提供任意多的重載,只要它們的簽名有明顯的區別便可

  靜態構造函數

只讀字段

枚舉

部分類

靜態類

Object類

2、第四章 對象和類型

相關文章
相關標籤/搜索