小序:
- 什么是面向对象?什么是类
- 使用class创建一个类
- 类的成员属性和成员方法
- 使用new函数对象实例化
1、什么是面向对象?
我们为什么要使用面向对象
传统开发的缺点:重用性差、软件可维护性差、拓展性差
面向对象的三要素:封装、继承、多态
1.1、什么是类?
可以理解为一个功能集合的菜单
2、使用class创建一个类
3、类的成员属性和成员方法
4、使用new函数对象实例化
小序:
- 创建一个和多个对象
- 对象中的$this关键字
- 初始化对象__construct()
- 析构函数__destruct()
- 创建一个和多个对象
我们只需要对类进行多次 new 便可实例化多个对象
2、对象中的$this关键字
$this 关键字用来访问对象中的对象属性和对象方法的系统变量
3、初始化对象__construct()
我们在创建一个类之后,有可能会初始化一些数据
例子:
3、析构函数__destruct()
能够在对象释放时自动被调用的方法被称为析构函数(垃圾回收机制)
封装关键字:public 、 protected 、private
封装相关函数:__set() 、 __get()
封装:是把一些相关属性和行为隐藏起来
权限
例子
小序:
- 继承关键字: extends
- PHP继承的规则
- 基类方法重载和基类方法访问
1、继承
PHP类的继承,我们可以理解共享被继承类的内容。
PHP使用extends单一继承
被继承的类——基类(父类)
继承的类——子类(派生类)
2、继承规则
3、基类方法重载和基类方法访问
基类的重载:子类需要补充基类的某一个方法,然后去重写基类的方法
类的抽象方法和类
抽象类的作用:
抽象类是不能直接使用,抽象类中没有被实现的抽象方法,所以抽象类是不能被实例化的,创建不了对象,也就不能使用它。抽象类不能直接使用,它有什么作用?
使用抽象类包含了继承关系,它作为它的子类定义的公共接口,它的操作交给它的子类实现。换句话说抽象类是作为子类重载模板使用的,
在某种程度上说抽象类就是一种规范,这种规范是要求它的子类遵守,子类按照自己的需求去实现。
如下图所示,子类c2实现了父类c1中的抽象方法alibaba(),$n是将子类c2实例化。
小序:
- 关键字:fianl
- 关键字:self
- 关键字:static
- 关键字:const
1、关键字:fianl
2、关键字:self
3、关键字 static
用来定义类的静态属性或者方法,可以在类未被实例化时使用,静态属性单独占内存。
4、关键字const