文章出處
文章列表
1、類型上的區別:
類是引用類型,結構體是值類型
2、在構造函數上的區別:
1、類中寫了一個新的構造函數后,默認的無參數的構造函數就被干掉了;在結構中,寫了一個新的構造函數后,默認的那個無參的構造函數還在。
2、類中可以有多個構造函數;結構體中只能有兩個,一個是默認的無參的構造函數,一個是全參數的構造函數,這兩個構造函數始終都在。
3、類的構造函數既可以給字段賦值,也可以給屬性賦值;結構體的構造函數中,必須給所有字段賦值,不能選擇性地去給字段賦值,也不能給屬性賦值。
3、new
使用new實例化結構體的時候,就只是調用構造函數,在棧上開辟空間;
使用new創建類對象的時候,調用了構造函數,并且在堆上開辟了空間。
4、繼承
結構體不能繼承于類,類也不能繼承于結構體,但它們都可以繼承于接口。
結構體不具備面向對象的特征,而類是面向對象的產物。
5、使用場合
如果只是單純地存儲數據的話,推薦使用結構體;如果需要用到面向對象的思想,推薦使用類。
文章列表
全站熱搜