結構和類的區(qū)別是什么以及構造函數
結構和類的區(qū)別是什么以及構造函數
對于學計算機的學生,結構和類的區(qū)別是必須了解的。它們的區(qū)別是什么呢?下面是學習啦小編為大家準備的結構和類的區(qū)別,希望大家喜歡!
傳說中的結構與類
在高級語言編程里面我們都知道數據存儲結構有多種,比如單個的簡單數據類型int、string、char,或則是使用數組存儲多個具有相同數據類型和語義的數據信息。但是在實際操作中我們操作的數據類型有很多,用以上兩種很多難于解決,于是就引出了今天要講的傳說中的結構。說到結構我們腦海中是不是有一個“類”的概念在飄,沒錯結構和類十分的相似,結構和類一樣可以包含數據和方法的定義,可以包含構造函數、常量、變量、方法、屬性等等。但是它們也存在這些許不同,包括用法、定義以及數據類型各個方面。
結構與類的區(qū)別
1.結構的定義
1 [修飾符] struct [結構名] [ : 接口名]
2 {
3 //結構成員
4 }
2.結構的構造函數
1 public struct Test
2 {
3 public Test()
4 {
5 //此方法編譯不會通過,提示錯誤消息“結構不能包含顯示的無參數構造函數”
6 }
7 }
3.結構的成員變量賦值
1 struct Test
2 {
3 static int x = 1;
4 static int y = x + 5;
5 //以下兩句編譯錯誤,在結構中可以給結構的靜態(tài)變量賦初值,但不允許給結構的一個實例變量賦初值
6 int m = 2;
7 int n = m + 2;
8 }
4.創(chuàng)建對象的方法
使用new運算符來創(chuàng)建結構對象
直接用結構類型的變量來創(chuàng)建結構對象
5.繼承
不允許結構從另外一個結構或類繼承
總結
1.結構是一種值數據類型,而類是一種引用類型
2.在結構中不允許定義無參數的構造函數(編譯不會通過)
3.在結構中可以給結構的靜態(tài)變量賦初值,但不能給結構的一個實例變量賦初值
4.創(chuàng)建結構對象可以不使用new關鍵字,直接用結構類型的變量來創(chuàng)建
5.不允許繼承(可以將結構看成是密封的類)
猜你感興趣: