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 相关文章推荐
javascript第一课
Feb 27 Javascript
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
Eval and new funciton not the same thing
Dec 27 Javascript
js图片模糊切换显示特效的方法
Feb 17 Javascript
javascript常见数据验证插件大全
Aug 03 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
jQuery.form.js的使用详解
Jun 14 jQuery
React中的refs的使用教程
Feb 13 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 Javascript
vue自定义树状结构图的实现方法
Oct 18 Javascript
JavaScript 对象创建的3种方法
Nov 17 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
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
python根据路径导入模块的方法
2014/09/30 Python
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
pandas 数据类型转换的实现
2020/12/29 Python
python 装饰器重要在哪
2021/02/14 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
上课说话检讨书大全
2014/01/22 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL