結構體和類的區別
?1.寫法區別: 結構體-struct ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類-class
?2.類型區別: 結構體 - 值類型(棧區) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類 - 引用類型(堆區)
?3.所有結構的成員默認都是public ? (有點問題)
? ?類的變量和常量數則默認為private,不過其他類成員默認都是public
4.結構成員不能被聲明為protected ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類的成員可以
?5.結構是隱式繼承字Value Type類,而不能繼承任何其他類型。 ? ? ? ? 類則可以繼承自Value Type以外的任何類
?6.結構是無法被繼承 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類可以
結構體:
結構體的默認構造不允許寫,因為系統已經給你提供了。
沒有析構函數
沒有 abstract 和 sealed(因為不能繼承)
不能有protected 修飾符
可以不使用new 初始化
在結構中初始化實例字段是錯誤的
類:
有默認的構造函數
有析構函數
可以使用 abstract 和 sealed
有protected 修飾符
必須使用new 初始化