码迷,mamicode.com
首页 > Web开发 > 详细

PHP方法的作用域

时间:2014-12-27 11:20:48      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

PHP支持6种方法作用域:public、private、protected、abstract、final和static,本文只讨论前5种作用域。

 

public:公共作用域。(就像空气和阳光,天下公用)

公共作用域的权限最为开放,类的内部外部都能访问,类的父类和子类也都能访问,类的对象也能访问,没什么特殊的权限限制,可以自由的在任何地方使用。

 

private:私有作用域。(就像皇帝的妃子,只供皇帝【类】自己享用,连皇帝的兄弟【类的实例对象】和儿子孙子【子类】都不能用)

私有作用域声明的方法只能在类内部使用,不能有实例化的对象调用,也不能由类的子类使用。它适合用来声明类内部的一些“辅助方法”,这些“辅助方法”主要用来执行一些“战术”方面的逻辑(与主要逻辑关系不直接的细枝末节的逻辑),为“战略”逻辑(主要逻辑)提供支撑。

 

protected:保护作用域。(就像皇帝的皇位,只能皇帝自己和自己的儿子孙子用,不能给皇帝的父亲【父类,已经做过皇帝了,不需要皇位了】和兄弟【类的实例对象】用,外人更是想都不要想)

保护作用域声明的方法只能在该类及其子类中使用(不能在父类中使用,不能在类外部使用,不能由实例化对象调用),这些方法可以用来帮助类或子类完成内部计算。

 

abstract:抽象作用域。(相当于“先皇遗旨”,先皇只负责指定和安排事情,但继位的皇帝负责执行和实现。先皇指定的这些事情肯定是有前提条件的,继位的皇帝可以按情况和需要来选择执行【实现】或不执行)

抽象作用域比较特殊,只在父类中声明,但在子类中实现。只有声明为abstract的类可以声明抽象方法。如果想定义一个应用编程接口(API),可以使用抽象方法声明。

 

final:不可更改作用域。(相当于皇帝的“圣旨”,皇帝的儿子和下属不可更改,也不可模仿皇帝发布同样的“圣旨”。)

final声明的方法将阻止子类中覆盖这个方法。

PHP方法的作用域

标签:

原文地址:http://www.cnblogs.com/macliu/p/4188128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!