访问修饰限定符,public,protected,private
public,公共的
protected,保护的
private,私有的
用于描述,一个成员(属性,方法)在哪里才能被访问的!
注意:
PHP是采用类的概念,进行成员的限制访问的!
PHP将访问的代码,分成三大区域:类内,类外,继承链上类内!
是根据:
成员在哪里定义与成员在哪里访问来决定类内,类外还是继承链上类内!
public
公共的,指的是,成员在本类内,继承链上的类内,与类外,都可以被访问!
protected
保护的,指的是,成员在本类内,继承链(子类,父类)上的类内可以被访问
private
私有的,指的是,只有本类内,可以访问!
如何选择:
一个原则,尽量体现封装性。
封装性,指的是,尽量隐藏内部实现,而仅仅开发外部操作接口!
语法上,就是将不需要外部使用的属性,方法,都私有化(保护化),而仅仅留下一些必要的公共方法!
注意
1,重写的问题,一定要先明确访问的究竟是哪里所定义的!
2,私有成员的重写问题。
私有成员不能被重写。意味着在相应的私有属性定义的类中,才能访问到相应的私有属性!
注意,在处理私有属性时,一定要确定其定义位置!
建议是:如果需要通过继承,你就使用保护的,少用私有的!在没有继承时,尽量使用私有的!
3, 在重写时,如果重写成员的访问级别不一致。子类的级别比父类的级别,相等或者弱,可以!强,不行!
4, 兼容性的问题
早先的 php的面向对象不完善,没有访问控制!
在声明属性时,使用 var 关键字!
声明方法时,什么都不使用!function
为了兼容,上面的做法还是可以使用!
var,function。访问权限都是public的!