106年普考程式設計概要

四、在物件導向語言 (JAVA or C++),宣告變數為 public, private, protected,其差異性為何?(10分)

答:

()public變數

1.是一個在類別外部可以直接存取的變數。當一個變數被標記為 public 時,其他的類別、函式或物件都可以直接讀取和修改它的值。

2.使用 public 屬性可能會破壞封裝,因為它允許外部對類別的內部資料結構進行直接操作。所以,經常的建議是保持變數的私有性,並且提供公共的方法或函式 ( getters setters) 來存取它們。

()private變數

1.只能由同一個類別的方法存取的變數。外部的類別或物件不能直接存取或修改它的值。

2.使用 private 屬性可以達到資料封裝的效果,這可以確保物件的內部狀態不會被不正確地修改,並且保護類別的實作細節免受外部干擾。

()protected變數

1.介於 public private 之間。

2.可以被其所屬的類別以及所有子類別所存取。這意味著,當有一個基礎類別和一些繼承自該基礎類別的子類別時,子類別可以存取基礎類別中的 protected 變數,但其他外部類別仍然無法存取它。

 

 

arrow
arrow
    文章標籤
    普考程式設計概要
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()