任何PHP开发人员在使用面向对象构建WEB应用程序时,都需要掌握6个关键字,他们分别是:
1.Private
2.Public
3.Protected
4.Static
5.Final
6.Abstract
对于前三个关键字,他们在类内部访问关系如下图:
Protected
Protected的访问级别仅次于Private,被定义为Protected的属性(变量)或方法不仅在本类中可以被访问,在该类的子类中同样可以访问,这是Private属性所不能的。
Public
Public具有最大的访问权限,被定义成Public的属性(变量)或方法可以在程序的任何位置、任何时间访问。
static
当我们在类中声明一个属性(变量)为static,那么该属性的值在其所有对象中都是可见的,是一个共享变量,因此,static属性值依赖类而非对象。静态属性不能通过对象访问,而是用类名加::符号直接访问。
同样,静态方法也具有对象共享特性,但需要注意如下两点:
1.直接通过类名加::访问静态方法
2.静态方法中不能使用$this关键字
Final
如果属性(变量)被Final修饰,那么该属性(变量)值不能被改变,如果是函数,则该函数不能被覆盖或重写。
Abstract
定义为Abstract的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为Abstract,那么这个类就必须被声明为Abstract。被定义为Abstract的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。