PHP 笔记——面向对象编程知识点
类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效管理。
-
类是由class关键字、类名和成员组成的,类名不区分大小写。
-
在类中定义常量使用关键字 const。 常量的输出不需要实例化对象,直接由类名+常量名调用即可。
- 类名::常量名;
-
在类中可使用static关键字声明静态属性和静态方法。
-
对象创建
- $变量名=new 类名称([参数]);
-
访问类中的成员
- 使用特殊的运算符号“->”访问类中的成员。
-
“$this” 操作符
- 使用$this变量可以引用该对象的其他方法和属性,并使用“->”作为连接符。
- 注:使用$this变量不可以访问静态成员。
-
:: 操作符
- 操作符“::”可以在没有声明任何实例的情况下访问类中的成员。
- 关键字::变量名/常量名/方法名
- parent关键字:可以调用父类中的成员变量、成员方法和常量。
- self关键字:可以调用当前类中的静态成员和常量。
- 在类内部,使用“self::静态成员名(常量)”格式访问。
- 类名:可以调用本类中的变量、常量和方法。
- 在类外部,使用“类名::静态成员名(常量)”格式来访问。
-
构造方法
- 在创建对象的同时,完成初始化功能
- 若类中没有显式声明,PHP会自动生成一个无参且无任何操作的默认构造方法
- 当在类中显式声明了构造方法时,默认构造方法将不存在
function __construct([mixed args [,…]]){
//方法体
}
- 继承关键字extends
- 子类调用父类的成员方法
- 通过 parent:: 关键字可以在子类中调用父类中的成员方法。
- 覆盖父类方法(重载)
- 覆盖父类方法就是在子类中创建与父类中相同的方法,包括方法名称、参数和返回值类型。
- PHP不允许多重继承,即一个子类只能有一个父类。接口提供了另一种选择,允许一个类实现(implements)多个接口。
- instanceof操作符可以检测当前对象是属于哪个类。
- 魔术方法
- __toString()的作用是:当使用echo或print输出对象时,将对象转化为字符串。
- __set()方法:在程序运行过程中为私有的成员属性设置值,它不需要任何返回值。
- __get()方法:在程序运行过程中,在对象的外部获取私有成员属性的值。