差异总结

面向对象编程

将表单中的数据与原始数据进行比较
目的:只保存发生变化的数据
$diff = array_diff($_POST,$user)

最终类与抽象类的差异?

  1. 抽象类不能被实例化,可以被继承
    最终类可以被实例化,不可以被继承
  2. 抽象类中可以包含最终方法,但是final不能修饰抽象方法
  3. 最终类(不能被继承)中不能包含抽象方法

接口与抽象类的差异?

  1. 接口中所有的方法都是抽象方法,
    抽象类中可以有抽象方法,也可以有普通方法
  2. 接口中的抽象方法不能使用abstract,
    抽象类中的抽象方法可以使用abstract
  3. 接口中只能有抽象方法和常量,抽象类可以有成员属性
  4. 接口中抽象方法的访问修饰符只能是public,
    抽象类中抽象方法的访问修饰符可以是public或protected
  5. 普通类继承抽象类使用extends关键字
    普通类继承接口使用implements关键字,但是接口继承接口使用extends关键字

调试:

  1. 定位错误 XXXX.php 在xxx行
    常见问题:
    拼写错误,
    不存在 Undefined
    语法错误

  2. 缩小代码范围
    沿着调用顺序,逐渐缩小代码范围

作业:

  1. 将正则验证函数封装到验证类中 Validator.class.php
    方法都声明为静态,
    例如: 验证手机 Validator::isMobile($手机号码)
  2. 重写一遍验证码类
  3. 复习final,static,interface

你可能感兴趣的:(差异总结)