1、类:类是一个独立的程序单位,具有相同属性和服务的一组对象的组合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括成员属性和服务的方法两个主要部分。
2、对象:在客观世界里,所有事物都是对象和对象之间的联系组成的。对象是系统中用来描述客观事物的一个实体。它是构成系统的一个基本单位,一个对象有一组属性和有权对这些属性进行操作的一组服务的封装体
3、类的实例化就是对象,而对象的抽象就是类。
4、面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
5、类的声明,使用关键字class后面加一对花括号
6、$用户名->成员属性=值 $用户名->成员方法
7、$this-> 是调用自身的属性或方法
8、构造方法和析构方法是对象中的两个特殊方法,他们都与对象的生命周期有关。构造方法是对象创建完成后第一个本调用的方法 __construct 析构方法和构造方法类似当php被销毁是自动调用析构方法__destruct()
9、封装性:是面向对象编程中的三大特性之一,封装性就是把对象的成员属性和成员方法结合成一个独立的单位
10、魔术方法:
1)__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。
2)__destruct() 当删除一个对象或对象操作终止的时候,调用该方法。
3)__get() 当试图读取一个并不存在的属性的时候被调用。
4)__set() 当试图向一个并不存在的属性写入值的时候被调用。
5)__call() 当试图调用一个对象并不存在的方法时,调用该方法。
6)__toString() 当打印一个对象的时候被调用
7)__clone() 当对象被克隆时,被调用
8)__sleep、__wakeup
9)__sleep 串行化的时候用
10__wakeup 反串行化的时候调用
serialize() 检查类中是否有魔术名称 __sleep 的函数。如果这样,该函数将在任何序列化之前运行。它可以清除对象并应该返回一个包含有该对象中应被序列化的所有变量名的数组。
使用 __sleep 的目的是关闭对象可能具有的任何数据库连接,提交等待中的数据或进行类似的清除任务。此外,如果有非常大的对象而并不需要完全储存下来时此函数也很有用。
相反地,unserialize() 检查具有魔术名称 __wakeup 的函数的存在。如果存在,此函数可以重建对象可能具有的任何资源。
使用 __wakeup 的目的是重建在序列化中可能丢失的任何数据库连接以及处理其它重新初始化的任务。
11)bool __isset(string name)间接地帮助我们完成对象中私有成员属性的测定
12)void __unset(string name)间接地帮助我们将私有的成员属性删除