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 powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
详解AngularJS Filter(过滤器)用法
Dec 28 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 Javascript
css和js实现弹出登录居中界面完整代码
Nov 26 Javascript
Angular5中状态管理的实现
Sep 03 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python WEB应用部署的实现方法
2019/01/02 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
Android面试宝典
2013/08/06 面试题
介绍一下linux的文件系统
2015/10/06 面试题
车间统计员岗位职责
2014/01/05 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
《去年的树》教学反思
2016/02/18 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
Python 绘制多因子柱状图
2022/05/11 Python