关于PHP中Object对象的笔记分享


Posted in PHP onJune 28, 2011

1.当将所有实例设为null,php会自动清除对象的引用。

2.建构子:__construct()

清除对象时自动执行的方法:__destruct()

也可以设置手动清除对象的方法:destroy或者clean_up

3.对象中的三种变量范围:public、private和protected。

4.对象中的常量属性可以使用const关键字,然后在对象外部以“对象名::属性名”的格式引用,在对象内部以“self::属性名”的格式引用。

5.在整个对象所有实例中通用的属性,就是静态属性,使用static关键字。

static与const的区别在于,const前只能使用public关键字,而static可以使用其他关键字。此外,static属性并非只读。

6.在整个对象所有实例中通用的方法,就是静态方法,也使用static关键字。

7.可以定义一个抽象类,用来定义界面。这种类只能被继承,而不能创造实例。在类内部,用abstract定义子类必须提供的方法。

凡是有abstract方法的类,必须在类名前使用abstract关键字。

abstract class Producr

8.在方法前加final关键字,可以防止子类override这个方法。

类名之前也可以加final关键字,这样就表明其他类不能继承它。

9.界面interface用来定义一系列抽象类的结构。

interface IProduct
{
... ...
}

abstract class Product implements Iproduct
{
......
}

10.
== 比较两个对象是否为同样类型,以及是否有同样的值。
=== 比较两个对象是否为同一个类的实例。

11.类的克隆:完全复制值。

$a = new SomeClass();
$b = clone $a;

可以定义一个__clone()函数,专门对克隆行为进行定制。

12.可以定义一个类的__toString()方法,对使用print和echo函数的行为进行定制。

13.get_class()函数:返回一个对象的类名。

14.可以在一个函数的参数前加类名,表示TypeHint。

15.可以定义一个__autoload()函数,它的参数就是php找不到定义的类名。可以在这个函数中定义如何自动加载。

PHP 相关文章推荐
php读取30天之内的根据算法排序的代码
Apr 06 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
php静态文件返回304技巧分享
Jan 06 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
利用php输出不同的心形图案
Apr 22 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 #PHP
php新建文件自动编号的思路与实现
Jun 27 #PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 #PHP
php开启安全模式后禁用的函数集合
Jun 26 #PHP
php设计模式 Adapter(适配器模式)
Jun 26 #PHP
php设计模式 Builder(建造者模式)
Jun 26 #PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 #PHP
You might like
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
Jquery attr("checked") 返回checked或undefined 获取选中失效
2013/10/10 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
办理退休介绍信
2014/01/09 职场文书
小学校园活动策划
2014/01/30 职场文书
党员违纪检讨书
2014/02/18 职场文书
高考励志标语
2014/06/05 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL