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 相关文章推荐
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
js实现圆盘记速表
Aug 03 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
Apr 03 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
react-native fetch的具体使用方法
Nov 01 Javascript
使用webpack打包koa2 框架app
Feb 02 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
详解swipe使用及竖屏页面滚动方法
Jun 28 Javascript
Nuxt升级2.0.0时出现的问题(小结)
Oct 08 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 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中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
php生成gif动画的方法
2015/11/05 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
python中的__slots__使用示例
2015/02/26 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
python如何实现递归转非递归
2021/02/25 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
科研先进个人典型材料
2014/01/31 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
Django中celery的使用项目实例
2022/07/07 Python