Php中方法作用域,php的类中五种字段作用域

本文介绍了面向对象编程中类的访问修饰符,包括public、private和protected的作用及应用场景。public字段允许外部直接访问和修改,但不推荐,因为它可能导致数据安全问题。private字段仅限类内部访问,提供了数据封装。protected字段在类及其子类中可访问,适合需要扩展的场景。使用访问修饰符有助于提高代码的封装性和安全性。

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;

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值