使用者對類內部定義的屬性(物件的成員變數)的直接操作會導致資料錯誤,混亂或安全性問題。
解決方法:將類的屬性保護起來,防止亂用。
保護的方式:資訊隱藏
當建立了類的物件以後,如果直接通過「物件.屬性」的方式對相對應的物件屬性賦值的話,可能會出現於實際情況相違背的意外,故,不考慮讓物件來直接作用於屬性,而是通過「物件.方法」的方式,來控制物件對屬性的訪問、賦值等操作等,對屬性的要求可以通過方法來體現。
將類屬性私有化
提供公共的方法(setter & getter)來實現呼叫。提供公共的方法(setter & getter)來實現呼叫。
public
class
test
}public
class
person
public
void
setname
(string name)
public
intgetage()
public
void
setage
(int age)
}
物件導向三大特徵之一 封裝
封裝 將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問 封裝的步驟 1 屬性私有化 2 提供公共的設定器和訪問器 3 在設定器和訪問器中新增業務校驗邏輯 private 私有的,對外不可見 private string name private ...
Java基礎 物件導向(一)封裝
一 什麼是物件導向?怎麼理解物件導向?1.物件導向的三個特點 a 物件導向就是一種常見的思想,符合人們的思考習慣。b 物件導向的出現,將複雜的問題簡單化。c 物件導向的出現,讓程靜在過程中的執行者,變成了物件中的指揮者。2.類和物件的區別 類 明確該事物的屬性和行為並定義在其中。物件 其實就是該類事...
06 02 物件導向的特徵一 封裝
定義屬性就是為了使用,所以隱藏並不是目的,隱藏屬性的目的在於限制類外部對資料的直接操作 然後類內應該提供相應的介面來允許類外部間接地運算元據 介面之上可以附加額外的邏輯來對資料的操作進行嚴格地控制 這就是隱藏屬性和開放介面的意義 python的class機制採用雙下劃線開頭的方式將屬性隱藏起來,類屬...