C 屬性與普通字段變數的區別

2022-07-26 15:30:22 字數 541 閱讀 9983

剛寫程式時總覺得乙個欄位就能滿足要求,何必要使用定義起來麻煩的屬性

要get、set的去定義,**量還大,真不知道他們的區別和優點

例:public class myclass 

set  }}

myclass.a 和 myclass.getval可能實現同樣功能,為什麼一定要用定義屬性?

現在簡單總結下屬性較普通變數的優點:

1、資料安全

因為a是個公有變數,在類的外部可以任意更改,為了防止因使用者任意更改,可用屬性get、set來限制_b的的唯讀、只寫或控制_b的最大或最小

引用一位老兄的簡答:"其實自定義變數已經預設實現了屬性,只是簡單的讀寫而已,我們定義的屬性要在讀寫的基礎上加上更多限制,以後你學的多了就會發現,很多東西都是為了資料安全而加入的,說白了就是限制,例如介面,介面中的方法你必須(注意是必須,強制性的)要實現"

2、oop和程式設計的乙個原則就是資料封裝,意味著我們不應該將字段的型別以公開的方式提供給外界

3、其實單純寫程式一點不難,難得是如何設計程式,使**簡潔易讀而效率又最高,如何保證程式的安全執行

C 屬性與普通字段變數的區別

剛寫程式時總覺得乙個欄位就能滿足要求,何必要使用定義起來麻煩的屬性 要get set的去定義,量還大,真不知道他們的區別和優點例 public class myclass set myclass.a 和 myclass.getval可能實現同樣功能,為什麼一定要用定義屬性?現在簡單總結下屬性較普通變...

屬性和普通變數區別

1 資料安全 因為a是個公有變數,在類的外部可以任意更改,為了防止因使用者任意更改,可用屬性get set來限制 b的的唯讀 只寫或控制 b的最大或最小 引用一位老兄的簡答 其實自定義變數已經預設實現了屬性,只是簡單的讀寫而已,我們定義的屬性要在讀寫的基礎上加上更多限制,以後你學的多了就會發現,很多...

欄位與屬性的區別

字段 是直接在類或結構中宣告的任何型別的變數。欄位是其包含型別的 成員 屬性是這樣的成員 它提供靈活的機制來讀取 編寫或計算某個私有欄位的值。可以像使用公共資料成員一樣使用屬性,但實際上它們是稱作 訪問器 的特殊方法。這使得可以輕鬆訪問資料,此外還有助於提高方法的安全性和靈活性。class time...