PHP开发者必须掌握的6个关键字


Posted in Javascript onApril 14, 2014

任何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的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。

Javascript 相关文章推荐
jQuery ui1.7 dialog只能弹出一次问题
Aug 27 Javascript
JavaScript中:表达式和语句的区别[译]
Sep 17 Javascript
基于jquery实现的自动补全功能
Mar 12 Javascript
JQuery实现网页右侧随动广告特效
Jan 17 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 Javascript
详细探究ES6之Proxy代理
Jul 22 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
Aug 30 Javascript
如何通过shell脚本自动生成vue文件详解
Sep 10 Javascript
小程序如何写动态标签的实现方法
Feb 05 Javascript
微信小程序国际化探索实现(附源码地址)
May 20 Javascript
javascript中的括号()用法小结
Apr 14 #Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 #Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 #Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 #Javascript
javascript对JSON数据排序的3个例子
Apr 12 #Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 #Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 #Javascript
You might like
杏林同学录(一)
2006/10/09 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
js/html光标定位的实现代码
2013/09/23 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
python基于http下载视频或音频
2018/06/20 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
详解python logging日志传输
2020/07/01 Python
Python 如何对文件目录操作
2020/07/10 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
安全事故检讨书
2014/01/18 职场文书
小学毕业演讲稿
2014/04/25 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
大二学年个人总结
2015/03/03 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL