PHP方法的作用域
PHP支持6种方法作用域:public、private、protected、abstract、final和static,本文只讨论前5种作用域。
public:公共作用域。(就像空气和阳光,天下公用)
公共作用域的权限最为开放,类的内部外部都能访问,类的父类和子类也都能访问,类的对象也能访问,没什么特殊的权限限制,可以自由的在任何地方使用。
private:私有作用域。(就像皇帝的妃子,只供皇帝【类】自己享用,连皇帝的兄弟【类的实例对象】和儿子孙子【子类】都不能用)
私有作用域声明的方法只能在类内部使用,不能有实例化的对象调用,也不能由类的子类使用。它适合用来声明类内部的一些“辅助方法”,这些“辅助方法”主要用来执行一些“战术”方面的逻辑(与主要逻辑关系不直接的细枝末节的逻辑),为“战略”逻辑(主要逻辑)提供支撑。
protected:保护作用域。(就像皇帝的皇位,只能皇帝自己和自己的儿子孙子用,不能给皇帝的父亲【父类,已经做过皇帝了,不需要皇位了】和兄弟【类的实例对象】用,外人更是想都不要想)
保护作用域声明的方法只能在该类及其子类中使用(不能在父类中使用,不能在类外部使用,不能由实例化对象调用),这些方法可以用来帮助类或子类完成内部计算。
abstract:抽象作用域。(相当于“先皇遗旨”,先皇只负责指定和安排事情,但继位的皇帝负责执行和实现。先皇指定的这些事情肯定是有前提条件的,继位的皇帝可以按情况和需要来选择执行【实现】或不执行)
抽象作用域比较特殊,只在父类中声明,但在子类中实现。只有声明为abstract的类可以声明抽象方法。如果想定义一个应用编程接口(API),可以使用抽象方法声明。
final:不可更改作用域。(相当于皇帝的“圣旨”,皇帝的儿子和下属不可更改,也不可模仿皇帝发布同样的“圣旨”。)
final声明的方法将阻止子类中覆盖这个方法。
PHP方法的作用域的更多相关文章
- 《Visual C# 从入门到精通》第二章方法和作用域——读书笔记
第2章 方法和作用域 2.1创建方法 方法是一个基本的,强大的编程机制.可视为函数或者子程序相似的东西. 方法名是个有意义的标识符. 方法主体包含方法被调用时实际执行的语句. 声明一个方法的实例如下: ...
- Java 在方法和作用域内的内部类
通常,如果所读写 的代码包含了内部类,那么它们都是"平凡的"内部类,简单并且容易理解,然而,内部类的语法覆盖了大量其它的更加难以理解的计数,例如可以在一个方法里或者在任意的作用域里 ...
- [学习笔记]js动画实现方法,作用域,闭包
一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即 ...
- synchronized的使用方法和作用域
文章地址:https://mp.weixin.qq.com/s?__biz=MzI4NTEzMjc5Mw==&mid=2650554746&idx=1&sn=8e45e741c ...
- AngularJS 第三天----作用域
作用域的概念及其功能 AngularJS使用作用域的概念来充当数据模型的作用,在视图和控制器之间起着桥梁的作用.由于双向绑定的数据特性,视图的修改会更新 $scope,同样对 $scope的修改也会重 ...
- 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包
0x00 前言 通过上一篇博客<匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的>的内容,我们实现了使用委托来构建我们自己的消息系统的过程.但是在日常的开发中,仍然有很多开发者因为 ...
- luogg_java学习_05_面向对象(方法和类)
这篇总结断断续续写了2天,内容来自Oracle java8编程入门官方教程和课外搜索总结,希望自己以后返回来看的时候都懂,也希望可以起到帮助初学者的作用. 转载请注明 出自 luogg的博客园 , 因 ...
- Angular作用域的层级概念(scope)
首先引入 angular 的根作用域:$rootScope ng-app:定义了angualr的作用域 ng-controller:定义了控制器 $scope定义了视图与控制器之间的纽带,而scope ...
- js闭包的作用域以及闭包案列的介绍:
转载▼ 标签: it js闭包的作用域以及闭包案列的介绍: 首先我们根据前面的介绍来分析js闭包有什么作用,他会给我们编程带来什么好处? 闭包是为了更方便我们在处理js函数的时候会遇到以下的几 ...
随机推荐
- [POJ] 2352 Stars [线段树区间求和]
Stars Description Astronomers often examine star maps where stars are represented by points on a pla ...
- Liunx+C编程一站式学习
Liunx+C编程一站式学习这本书有什么特点?面向什么样的读者?这本书最初是为某培训班的嵌入式系统Linux工程师就业班课程量身定做的教材之一.该课程是为期四个月的全日制职业培训,要求学员毕业时具备非 ...
- java设计模式--结构型模式--代理模式
代理模式 概述 为其他对象提供一种代理以控制对这个对象的访问. 适用性 1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表. 2.虚代理(VirtualProxy)根据需要创 ...
- bzoj2243-染色(动态树lct)
解析:增加三个变量lc(最左边的颜色),rc(最右边的颜色),sum(连续相同颜色区间段数).然后就是区间合并的搞法.我就不详细解释了,估计你已经想到 如何做了. 代码 #include<cst ...
- c++中经常需要访问对象中的成员的三种方式
可以有3种方法: 通过对象名和成员运算符访问对象中的成员; 通过指向对象的指针访问对象中的成员; 通过对象的引用变量访问对象中的成员. 一.通过对象名和成员运算符访问对象中的成员 例如在程序中可以写出 ...
- 04747_Java语言程序设计(一)_第3章_面向对象编程基础
链式编程 每次调用方法后,返回的是一个对象 /* * 链式编程 * 每次调用方法后,返回的是一个对象 */ class Student { public void study() { System.o ...
- hdu 1429 胜利大逃亡(续)(bfs+状态压缩)
Problem Description Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)…… 这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带 ...
- iOS 推送证书制作 (JAVA/PHP)
// aps_development.cer 转化成pem openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem ...
- (转)Tomcat 7 访问 Manager 和 Host Manager
配置好 Tomcat 7.0 后,在 tomcat-users.xml 中配置用户角色来访问 localhost:8080 的这样三个按钮总出现问题: Server Status Manager Ap ...
- ArcGIS Runtime SDK for Android开发之调用GP服务(异步调用)
一.背景说明 通过调用GP服务,Android客户端也能实现专业的.复杂的GIS分析处理功能,从而增加应用的实用价值. ArcGIS Server发布的GP服务,分为同步和异步两种类型,一般执行步骤较 ...