1.public 表示修饰的字段的作用域范围是公共作用域
该作用域的字段可以在类外部直接通过对象名访问,并进行修改.
实例一:
class deyushe
{
public $name;
public $address;
}
$dys = new deyushe();
$dys -> name = "德予舍";
$dys -> address = "www.deyushe.com";
printf("网站名字是:%1\$s,网站地址是:%2\$s!",$dys->name,$dys->address);
?>
注意:
在类中,声明某个字段是公共作用域,方便了对该字段的使用和修改.但是在OOP中并不鼓励使用公共字段,因为这样做,会将程序一些细节暴露在类的外部,并且直接访问类的数据,会忽略对某些数据的数据验证.
解决方法:
1.)将数据封装在对象中,只通过一些称为公共方法的接口来访问,这种封装的数据具有私有作用域.
2.)使用方法
2.private表示修改修饰的字段只能在类中访问,类以外的其他位置无法访问该字段
该作用域的字段是限制最为严密的控制关键字
实例二:
class deyushe
{
private $name;
public function setname($name)
{
$this -> name = $name;
}
public function printname()
{
printf("私用字段内容为:%1\$s",$this -> name);
}
}
$dys = new deyushe();
$dys -> setname("德予舍");
$dys -> printname();
?>
3.protect
表示修饰的字段是受保护的.受保护的字段只能在类中调用,不允许在类的外部调用这此字段
实例三:
class deyushe
{
protect $name;
}
?>
注意:
受保护字段和私有字段的区别在于:在继承的子类中,可以访问这些受保护的字段,这是私有字段所不能够具备的.如果在子类中试图访问父类中的私有字段,将会导致致命的错误.因此如果希望扩展该类,就应当使用保护字段而不是私有字段.
4.final 当设置为final字段时,将阻止在子类中覆盖这个字段
实例四:
class deyushe
{
final $name;
}
?>