我剛開始學習面向對象編程,只是通過觀察發現,在所有示例中,成員變量都是私有的。爲什麼通常是這種情況?爲什麼成員變量通常是私有的?
// Class
class Building {
// Object variables/properties
private $number_of_floors = 5; // These buildings have 5 floors
private $color;
// Class constructor
public function __construct($paint) {
$this->color = $paint;
}
public function describe() {
printf('This building has %d floors. It is %s in color.',
$this->number_of_floors,
$this->color
);
}
}
此外,如果您聲明成員變量是公共的,那麼在它聲明的類之外訪問它的語法是什麼?
最後,你必須在前面加上「公共」或「私人」的一類內的每個變量和函數?
編輯:感謝所有的答案,任何人都可以請您確認是否要在前面加上「公共」或「私人」的一類內的每個變量和函數?
謝謝!
這聽起來像你需要閱讀一本關於面向對象編程的書。你已經問過關於面向對象編程基礎的一些非常好的直接問題。我沒有足夠的時間來獲得完整的答案,所以我只能說查看'Encapsulation','Inheritance'和'Abstraction'。 – zzzzBov