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