Object-oriented language declares variables as public, private, protected differences
物件導向語言宣告變數為 public, private, protected差異性
摘要
在c++, java 中變數可以設存取修飾子,如private, public, protect,它會影響到變數的可見性和存取權限。
public:
- 可以被程式碼中的其他類別存取。
- 公用法杖,任何人拿到都能秒變甘道夫。
private:
- 類別內部才能存取該變數。
- 能隱藏實現的細節,確保資料的安全。如需要存取可以寫一個public 方法(setter or getter)來間接存取。
- 上鎖的法杖寶盒,只有鑰匙(public 方法)才能打開寶盒,使用法杖。
protected:
- 只有類別內部或繼承之子類別可以存取該變數。
- 甘道夫的法杖只有自己跟兒子可以拿。
例題
、在物件導向語言(JAVA or C++),宣告變數為 public, private, protected,其差異性為
何?(10 分)
在物件導向語言中,如Java和C++,變數的訪問修飾詞(access modifier)可以設為public、private和protected,這些修飾詞影響變數的可見性和訪問權限。它們的差異如下:
public: 使用public修飾的變數是公開的,可以在任何地方訪問,包括該類別外部的地方。其他類別可以訪問public變數,並且可以進行讀取和寫入操作。這種設計風格通常用於表示類別的公共界面。
private: 使用private修飾的變數是私有的,僅能在該類別的內部訪問,其他類別無法直接訪問。這種封閉性有助於隱藏實現細節,並確保數據的安全性。如果需要訪問private變數,通常需要提供public方法(getter和setter)來進行間接訪問。
protected: 使用protected修飾的變數在該類別的內部和子類別中是可訪問的,但對於外部的類別,它們是不可訪問的。protected主要用於建立繼承關係,以便子類別可以訪問父類別中的protected成員。
總結,這些訪問修飾詞允許控制變數的可見性和訪問權限,以確保數據的安全性和合理的訪問方式。在設計類別時,根據需求和設計目標來選擇正確的訪問修飾詞
Comments
Post a Comment