I just started to learn object oriented programming today and just by observation noticed that in all examples, member variables are private. Why is that usually the case?
// 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
);
}
}
Also, if you declare the member variable to be public, what is the syntax for accessing it outside of the class it was declared in?
And finally, do you have to prepend “public” or “private” to every variable and function inside a class?
EDIT: Thanks all for your answers, can anyone please confirm if you have to prepend “public” or “private” to every variable and function inside a class?
Thanks!
Private variables can’t be accessed from outside, that gives you control.
But if you put them Public then you can access it lke this
For example
but you have to put your number_of_floors variable to public, if you want to access private member then you need to implement new method in Building class
so your code should look like this