APP下载

PHP中的访问控制修饰符

2016-06-03温振宏

中国新通信 2016年8期
关键词:面向对象

温振宏

【摘要】 PHP的面向对象中,针对类的成员属性和成员方法有三种访问控制修饰符,分别为public,protected 和private。三种访问控制修饰符支持的访问范围是不同的。本文详细的介绍了public,protected及private修饰类中成员时是如何访问的。

【关键词】 面向对象 修饰符 public protected private

PHP是一种简单的,面向对象的,免费开源的Web开发语言。PHP语音具有开发周期短,安全稳定,简单易学,良好的跨平台等特性。因此,PHP入选全球五大最受欢迎的编程语言。

封装,继承和多态是面向对象语言的三大特性。PHP的封装特性支持三种访问控制修饰符:public公共的,protected受保护的及private私有的。三种修饰符均是用来修饰PHP类中成员属性和成员方法的。

三种访问控制修饰符的访问权限对照表如下:

一、修饰符public

修饰符public修饰类中成员,访问没有任何限制。即类内部的成员可以访问;类外部的成员可以访问;子类也可以访问。如果成员没有指定访问控制修饰符,将被视为public。

class A{

public $pro1 = “public修饰的成员属性”;

function printInfo(){echo $this->pro1;echo “视为public修饰的成员方法”;}}

$a1 = new A();echo $a1->$pro1; $a1->printInfo();

语句echo $a1->$pro1是通过类A的对象$a1访问类中属性public修饰的属性$pro1。语句$a1->printinfo()是通过类A的对象$a1访问类中方法printInfo()。语句echo $this->pro1是在类A的内部访问public修饰的属性$pro1。

class B extends A{function getA(){echo parent::$pro1; parent::printInfo();}}

$b1 = new B();$b1->getA();

声明子类B继承类A,子类B中getA()方法访问父类A中的public修饰的$pro1成员属性及printInfo()成员方法。

二、 修饰符protected

修饰类protected修饰类中成员,不能被该类的外部成员访问。但该类内部可以访问;该类的子类也可以访问。

class A{

protected $pro2=”protected修饰的成员属性”;

$b2->getPro2();方法setPro2()在类A的内部为protected修饰的属性$pro2赋值。方法getPro2()是在子类B中访问父类A中的protected修饰的属性$pro2。

三、修饰符private

修饰符private修饰类中成员,不允许该类的外部成员访问,也不允许该类的子类访问。只能允许该类内部的成员访问。

方法getPro3()在类A的内部访问private修饰的属性$pro3。

综上所述,PHP中三种访问控制修饰符public,protected及private的访问控制权限由高到低。修饰符private修饰的成员属性或成员方法访问权限是最低的。实际操作中,我们也是将类中的成员属性全部用private修饰符进行修饰,然后通过construct()方法对成员属性赋值,仅提供公共接口与外部联系。

参 考 文 献

[1] 高洛峰,LAMP兄弟连主编, 《细说PHP2》, 电子工业出版社第1版2013.6,.

[2] 孔祥盛主编《PHP编程基础与实例教程》, 人民邮电出版社第1版2011.8.

猜你喜欢

面向对象
面向对象数据库教学方法的探讨
基于案例的面向对象程序实践教学模式探索
面向对象的计算机导论课程教学
基于Web的科研项目管理系统的设计与实现
应力波反射法测锚索长度的数据处理软件设计与实现
关于计算机语言面向对象开发的发展研究
面向对象技术中数据访问方法研究
IEC61850在电能量管理系统通信中的应用
基于遥感技术的植被信息提取方法研究
高职计算机专业的一次信息化教学单元设计