类中的元素可以被声明为public 、protected 、private
1、在任何地方都可以访问public属性和方法
2、可以在当前类或子类中访问protected方法和属性,其他外部代码无权访问
3、只能在当前类中才能访问private方法和属性,即使在子类中也不能访问
有些属性和方法可能不想让外部正确的访问,可将其设为private,在写一个方法让外部去调用,在这个方法中就可以重新设置别人该访问的数据
例如:
1、在任何地方都可以访问public属性和方法
2、可以在当前类或子类中访问protected方法和属性,其他外部代码无权访问
3、只能在当前类中才能访问private方法和属性,即使在子类中也不能访问
有些属性和方法可能不想让外部正确的访问,可将其设为private,在写一个方法让外部去调用,在这个方法中就可以重新设置别人该访问的数据
例如:
class Product {
private $bookName;
private $price;
public function __construct($bookName,$price){
$this->bookName = $bookName;
$this->price = $price;
}
public function getInfo(){
return $this->bookName . " -> " . $this->price * 0.75;
}
}
$product1 = new Product("PHP",100);
echo $product1->getInfo(); //输出结果为:PHP -> 75
echo $product1->price; //出错