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之数据库操作详解及乱码解决!
Jan 02 PHP
PHP数据缓存技术
Feb 14 PHP
PHP 身份验证方面的函数
Oct 11 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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 表单提交给自己
2008/07/24 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
json跟xml的对比分析
2008/06/10 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
玩转python爬虫之正则表达式
2016/02/17 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
python的依赖管理的实现
2019/05/14 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
Linux开机引导的步骤是什么
2015/10/19 面试题
乐观大学生的自我评价
2014/01/10 职场文书
体育运动会广播稿
2014/10/05 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python