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