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数字数组去重复项的实现代码
Dec 30 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
Jun 08 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
深入理解javascript变量声明
Nov 20 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
jQuery实现扑克正反面翻牌效果
Mar 10 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
Bootstrap.css与layDate日期选择样式起冲突的解决办法
Apr 07 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
解决vue-cli输入命令vue ui没效果的问题
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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
改变隐藏的input中value值的方法
2014/03/19 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
横向对比分析Python解析XML的四种方式
2016/03/30 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python判断设备是否联网的方法
2018/06/29 Python
python实现二维数组的对角线遍历
2019/03/02 Python
学习Django知识点分享
2019/09/11 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
python实现简单颜色识别程序
2020/02/19 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
python字典的值可以修改吗
2020/06/29 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Python pip 常用命令汇总
2020/10/19 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
经典而简洁的婚礼主持词
2014/03/13 职场文书
市场调查策划方案
2014/06/10 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
Redis可视化客户端小结
2021/06/10 Redis