PHP 中 怎么保护私有成员不被重写?

如题,代码如下:
<?php
class employee{
private $sal=3000;
public function getSal(){
return $this->sal;
}
}

class Manager extends employee{
private $sal=5000;
//重写过的方法
public function getSal(){
return $this->sal;
}
}
$manager = new Manager();
echo "PHP ".phpversion()."
";
echo $manager->getSal();
echo "
";
?>
输出结果是 5000
如果我要保护 3000 这个值,防止被子类重写, 怎么办?

没学过php,不过java里面变量修饰为private 那么只能通过setget方法和反射 获取修改值。看不懂下面打Manager类没继承就直接重写方法了 下面的方法好像是在类外面吧.。php果然是世界上最好的语言

Manager 类 漏写了extends employee 已加上。get set 也保护不了,子类默认访问子类的成员属性

作为私有的成员不会被继承的,你根本没有被重写

方法前面加个final防止了子类对其父类的重写,你写的public属于可以继承可以重写的,而且你声明的属性是私有的 只会读到当前类的私有属性

final 关键字 加在属性签名就行