php 面向对象基础知识
面向对象编程: OOP 面向对象三大特性: 封装 继承 多态 什么是类: 据有相同属性和方法的集合 什么是对象: 类实例化之后的结果,是具体的 类与对象的关系: 类是对象的抽象,对象是类的实例化 类的组成: 属性 方法 常量 属性: 对象的特征 方法: 对象的行为 声明类的关键字: class 实例化类的关键字: new 类外调用属性&类外调用方法: 对象名->属性 对象名->方法() 类内调用属性&类内调用方法: $this->属性 $this->方法() 定义类常量和php常量关键字: const define 类内&类外访问类常量: self::常量名 类名::常量名 定义静态成员(属性和方法)的关键字: static 类内&类外访问静态成员: self::$属性名|方法名 类名::$属性名|方法名 访问修饰符: public(公共) protected(受保护) private(私有) 类内 类外 子类 类内 子类 类内 继承的关键字: extends 一个子类只能拥有一个父类 一个父类可以有多个子类 定义类之后想让该类不能被继承关键字: final 定义方法之后不想被子类重写: final 子类中调用父类中原始的成员(属性和方法): parent::成员名称 定义抽象类的关键字: abstract 抽象类中可以有抽象方法和非抽象方法 有抽象方法的类是抽象类 抽象类不能被实例化,只能继承(实现) 定义接口的关键字: interface 接口中一定是抽象方法 接口只能被继承(实现) 接口也不能被实例化 接口解决了php的单继承问题,实现了多继承 实现接口的关键字: implements 魔术方法:达到一定的条件,自动调用 __get()访问权限不够(受保护的 私有的)以及不存在的属性时,自动调用 __set()给不可访问(受保护的 私有的)以及不存在的属性赋值时,自动调用 __isset()在php中使用isset函数来检测类中不存在或者无法访问(受保护 私有)的属性时,自动调用 __unset()在php中使用unset函数来销毁类中不存在或者无法访问(受保护 私有)的属性时,自动调用 __call()当调用不可访问(受保护 私有)以及不存在的方法时,自动调用 __toString()当对象被当作字符串处理时,自动调用 __construct()当类被实例化时首次调用 __destruct()当类实例化时最后一次调用 __autoload()自动加载类文件 __sleep()当对象被序列化(串行化)时,自动调用 __wakeup()当对象被反序列化(反串行化)时,自动调用 __clone()当对象被克隆时,自动调用 序列化的关键字: serialize 反序列化的关键字: unserialize 讲内容写入文件: file_put_contents 从文件中读取内容: file_get_contents 单例模式(三私一公): 1、私有的构造方法 目的为了阻止类外实例化得到对象 2、私有的克隆方法 目的为了阻止类外克隆得到对象 3、私有的静态属性 目的为了阻止类外获取类中的属性值 4、公共的静态方法 目的为了得到类中实例化对象的结果 有且只有一次实例化,类内实例化对象 使用单例模式封装类可以避免多次实例化对象而产生的不必要的资源浪费
声明 本人博客的所有东西,部分源于网络书籍和视频,其他的是个人的理解感悟,经过自己整理撰写成博客。 本人博客均只用于个人学习、复习,不作为商业用途,如有侵权,请联系我修改或删除。 联系邮箱:15121014713@163.com
浙公网安备 33010602011771号