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自动生成月历代码
Oct 09 PHP
PHP默认安装产生系统漏洞
Oct 09 PHP
php创建多级目录代码
Jun 05 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
php把数组值转换成键的方法
Jul 13 PHP
Zend Framework入门知识点小结
Mar 19 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
浅析PHP数据导出知识点
Feb 17 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
十大“创意”战术!
2020/03/04 星际争霸
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
js字符串转成JSON
2013/11/07 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
Python制作CSDN免积分下载器
2015/03/10 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
详解Python3 pandas.merge用法
2019/09/05 Python
Python序列化pickle模块使用详解
2020/03/05 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
生产副总岗位职责
2013/11/28 职场文书
个人自荐书
2013/12/20 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android