PHP面向对象概念


Posted in PHP onNovember 06, 2011

关键字和特殊变量

new,class,extends。这三个,大家都懂得。
::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆盖类中的成员和方法。
parent和self。parent指的就是派生类在 extends 声明中所指的基类的名字。这样做可以避免在多个地方使用基类的名字。
$this 伪变量。$this指向当前的实例。$this却不一定是方法所属的对象。有时候类A内的代码会调用类B的一个静态方法。参考例子:http://www.php.net/manual/zh/language.oop5.basic.php
static关键字。如果声明类成员或方法为static,就可以不实例化类而直接访问。但是,除了静态方法,不能通过一个对象来访问其中的静态成员。在静态方法中,不使用$this。而使用self:: 。
final关键字。可以作用于类(class)和方法(function),会使类不能被继承,方法不能被覆盖。

属性

可以初始化,但初始化的值必须是常数。常量前面用const个关键字,常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。

构造函数和析构函数

这两个函数都不会暗中调用基类的响应函数,这跟java的构造器机制不一样。要达到这样的效果,必须显示执行。析构函数中不能抛出异常。

抽象类:声明为抽象的类方法不能包含具体实现,抽象类不能实例化。必须先被继承,再实例化其子类。而且子类的访问控制要和抽象类一样,或者更加宽松。抽象类至少包含一个抽象方法的。

接口

使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
定义的所有方法都必须是public,且方法为空
可以定义常量,但是没有属性
接口的实现(implements)必须实现所有方法,而且可以实现多个接口(注意,方法不能重名)。
接口可以被另外的接口继承 (extends)

PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
精美漂亮的php分页类代码
Apr 02 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
小谈php正则提取图片地址
Mar 27 PHP
Linux下PHP加速器APC的安装与配置笔记
Oct 24 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
php中bind_param()函数用法分析
Mar 28 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 #PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 #PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 #PHP
php 伪造本地文件包含漏洞的代码
Nov 03 #PHP
有关php运算符的知识大全
Nov 03 #PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 #PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 #PHP
You might like
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
jquery插件之easing使用
2010/08/19 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
再谈javascript原型继承
2014/11/10 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
微信小程序自定义组件
2017/08/16 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
Python subprocess模块常见用法分析
2018/06/12 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
Python常用库大全及简要说明
2020/01/17 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
Python requests模块session代码实例
2020/04/14 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
就业协议书怎么填
2014/09/15 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers