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 获取用户客户端操作系统版本
Aug 25 Javascript
各浏览器对click方法的支持差异小结
Jul 31 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 Javascript
防止按钮在短时间内被多次点击的方法
Mar 10 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
Nov 24 Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 Javascript
玩转Koa之核心原理分析
Dec 29 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
php提示undefined index的几种解决方法
2012/05/21 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
vue ssr 指南详读
2018/06/29 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
大学三年的自我评价
2013/12/25 职场文书
运动会入场词60字
2014/02/15 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
学前教育专业求职信
2014/09/02 职场文书
销售代理协议书
2014/09/30 职场文书
公务员政审材料
2014/12/23 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
聘任合同书
2015/09/21 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS