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 相关文章推荐
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
PHP策略模式写法
Apr 01 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
ThinkPHP中的三大自动简介
2014/08/22 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
php微信开发之图片回复功能
2018/06/14 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
Js面试算法详解
2018/04/08 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
python的类变量和成员变量用法实例教程
2014/08/25 Python
Python中logging模块的用法实例
2014/09/29 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python3匿名函数用法示例
2018/07/25 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
django在开发中取消外键约束的实现
2020/05/20 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
尼克松手表官网:Nixon手表
2019/03/17 全球购物
车间主任岗位职责
2014/03/16 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
单位证明范文
2015/06/18 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers