手记

20、面向对象概念说明

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(): 用静态方式中调用一个不可访问方法时,触发


1人推荐
随时随地看视频
慕课网APP