1、面向过程vs面向对象
1.1、面向过程编程
它强调执行,就是将要完成的任务(工作、事情)分解为若干的步骤,程序开始后,从前往后,每个步骤依次执行,最后达到所期望的结果
1.2、面向对象编程
它强调设计,就是将要完成的任务(工作、事情),分拆为不同的“对象”要做的不同的子任务,程序开始后,每个不同的对象,依据“他人的要求”,去完成自己的子任务,最后大家都按计划完成后,则总任务也就完成
1.3、两者的联系
都可以完成具体某项任务
看待问题的角度不同,面向过程较微观,因此其强调执行;而面向对象较宏观,因此其强调设计
2、php的面向对象
php4之后,面向对象编程设计逐渐完善
2.1、类与对象
类
相当于是图纸or模型
对象
按照图纸or模型,”制造”出来的物品
2.2、类的基本组成部分
属性
相当于是变量
方法
相当于是函数
2.2、面向对象的三大特性
封装
通过修饰符改变属性或者函数的访问权限,以达到保护的作用
继承
子类继承父类的属性和方法,再进一步拓展自己的属性和方法;而父类的属性和方法一般是一个归纳
多态
只抽象声明父类,具体的工作由子类对象完成
2.3、面向对象语法糖
类声明
class:声明一个类
new:实例化一个类对象
abstract: 声明抽象类
interface: 声明接口
extends: 继承关键字
修饰符
public(公开): 所有环境都能够访问
protected(受保护): 如在父类进行修饰,则只能在子类内部进行访问
private(私有): 只能在本类内部访问
static: 修饰属性和方法为类所有
类内部常用符号
$this: 指向当前对象实例的指针,不指向任何其他对象或类
self: 指向类本身,也就是self是不指向任何已经实例化的对象 ,self使用来指向类中的静态属性或者方法
parent: 指向父类的指针,一般我们使用parent来调用父类的方法
构造和析构函数
在php4的构造函数是与类同名的函数,之后的php版本则采用
__construct作为构造方法
__destruct作为析构方法
魔术方法
提供了类额外的方法,增强类的灵活性
__call: 在对象中调用一个不可访问方法时,触发
__callStatic(): 用静态方式中调用一个不可访问方法时,触发
共同学习,写下你的评论
评论加载中...
作者其他优质文章