一、类/对象解说
万物皆为对象,每个人类都是一个对象,面向对象的核心就是,让对象帮我们实现功能
- 对象:具有一定功能和特征的单个事物,就是对象
- 类:具有相同功能的特征的对象的抽象,就是类
- 类与对象的关系:对象是类的实例化,类是对象的抽象化。
二、定义类与对象实例化
定义类时以class开头定义类,类名的首字母要求大写
class School{
//成员属性
//成员方法
}
//使用new运算符,实例化一个类的对象,如:
$hxsd=new School();
//使用instanceof判断$hxsd是否是School的实例
$bool=$hxsd instanceof School;
var_dump($bool);
三、类的成员
1、成员属性:
- 必须使用3P(public protected private)修饰符进行修饰
- 可以用static修饰为静态,静态属性不会随对像实例销毁。
- 可以没有初始值
- 初始值不能为资源型和对象型。
- 初始值不能为变量或函数调用
- 成员属性不能重复定义
2、成员方法:
- 必须使用3p修饰符进行修饰
- 可以没有形参、返回值与程序体
3、修饰符
3.1 访问修饰符(3p)
-
public 公共的
-
protected 受保护的
-
private 私有的
3.2 额外修饰符 -
static 静态:可以不new实例,直接通过类::方法 类::属性的调试。
<br>
静态方法不能调用非静态属性(需先实例化对象) -
final 最终:修饰的类不能被继承,修饰的方法不能被重写
-
abstract 抽象:定义抽象类
4、类常量
- 类中始终保持不变的值定义为常量,类中方法不可更改它的值
- 类常量可以使用类名或类的实例,用 **:😗*来访问
- 类的常量属于类的本身,不能被子类继承或覆盖。
- 不能使用表示变量的符号$,全部不写。
4.1 注意
- 使用class关键字定义一个类,类名的首字母要求大写
- 使用get_class_methods(),可以查看类中定义的方法
- 类常量可以直接访问
- 类中能包含成员属性、成员方法、类常量
- 类中成员属性和成员方法的位置可以互换,建议成员属性在前,成员方法在后。
5、变量和函数在类的内部和在类的外部的区别
5.1 变量在类的内部叫做属性,在类的外部叫做变量;
5.2 函数在类的内部叫做方法,在类的外部叫做函数。
今天就总结到这里吧,下期再见!