4.1.$this 关键字:只能在一个类的内部使用
4.2.构造方法:__construct() 一个类只能创建一个构造方法,且不能主动被调用。
4.3.析构方法:__destruct() 与构造方法相对,对象在内存中被销毁前调用析构方法。该方法不能带有任何参数。
4.4.静态属性和静态方法:使用static修饰的属性和方法。不需要在类实例化的情况下就可以直接使用。
(4.4.1)静态属性属于类本身而不是属于类的任何实例。
(4.4.2)如果要在同一类的成员方法中访问静态属性,需要在前面加上操作符“self::”
(4.4.3)静态方法
4.5 类常量:需要大写,使用关键字const修饰。使用方法如下:
如果要在同一类的成员方法中访问类常量,需要在前面加上操作符“self::”
4.6 对象的“克隆”
通过clone克隆一个对象
__clone()方法
4.7 继承:extends
(4.7.1)案例:创建一个Student类,使其继承于已经存在的People类。
(4.7.2)使用parent:: 关键字,调用父类中的方法:
(4.7.3)使用instanceof运算符:检测当前对象实例是否属于一个类的类型,返回布尔。
(4.7.4)覆盖父类方法:也叫重写,要求覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。
(4.7.5)在父类和子类都定义了构造方法时,当子类的对象被创建后,将调用子类的构造方法,而不会调用父类的构造方法。(详见代码4.7.5)
4.8 抽象类和接口——都是不能被实例化的特殊类
(4.8.1)抽象类:使用abstract声明
(4.8.2)当某个类继承于抽象类时,必须包含该抽象类中定义的所有方法:
(4.8.3)定义接口:使用关键字interface,接口不能被实例化,所以不存在构造方法和析构方法。
(4.8.4)接口可以继承多个接口,但是不能继承类。实现接口的继承使用implements关键字。使用类实现接口时必须包含接口中定义的所有方法。
(4.8.5)抽象类与接口的区别:
4.9 多态——通过多种状态或阶段来描述相同对象的编程方式。多态将编程的重点放在了接口与父类上,而不必考虑对象属于哪个具体类的问题。
(代码4.9.1)通过继承实现多态。(代码4.9.2)通过接口实现多态。
4.10 PHP5中的反射:通过访问已经存在的类和对象来获取其结构与内容的能力。
(4.10.1)映射类ReflectionClass:获取一个类的所有信息
(4.10.2)映射方法类 ReflectionMethod:获取某个类的方法
(4.10.3)映射参数类 ReflectionParameter:获取函数或方法的参数信息:
(4.10.4)映射属性类 ReflectionProperty:获取特定类的属性
4.11 PHP5中的特殊方法:魔术方法
(4.11.1)__toString()方法允许一个类决定当它被修改为string类型时是如何起作用的。
(4.11.2)__autoload()方法:在第一次引用一个类时调用的方法,使用该方法可以快速取得对象名称并自动载入当前页面。
(4.11.3)__get()和__set()方法
(4.11.4)__call()方法可以调用一些未定义对象方法的异常处理,使程序继续正常运行。该方法要传入两个参数,用来指定所要调用的方法名称及一个数组。
代码:https://github.com/rxbook/study_php
【2013年10月23日 15:12:13】
来源:https://blog.csdn.net/rxbook/article/details/99050445