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

yipeiwu_com5年前PHP代码库
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找不到定义的类名。可以在这个函数中定义如何自动加载。

相关文章

thinkphp框架实现删除和批量删除

thinkphp框架实现删除和批量删除

本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧。 预期效果图:   原谅博主对照片的处理是如此的草率吧。。。 仍然是 通过MVC模式进行拆分: 首先是视图部...

比较简单实用的PHP无限分类源码分享(思路不错)

下面一段代码是创建相应数据库的sql代码:复制代码 代码如下: //////////////   //////无限分类的数据库设计及样例 &nbs...

php设计模式之策略模式应用案例详解

本文实例讲述了php设计模式之策略模式应用。分享给大家供大家参考,具体如下: 策略模式 定义: 策略模式定义一系列的算法,将每个算法封装起来,并让它们可以相互装换。策略模式让算法独立于使...

PHP面向对象分析设计的61条军规小结

(1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如...

php绘制一个矩形的方法

本文实例讲述了php绘制一个矩形的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php //1、创建画布 $im = imagecreatetru...