标题 | PHP中的访问控制修饰符 |
范文 | 温振宏 【摘要】 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. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。