opp :面向对象编程(object oriented programming)
对象
对象是由属性和方法组成的,是类的实例化;
类
类是相同属性和方法的集合
类
类的定义
class A { //属性(成员变量) //方法 }
类是复杂类型
属性=访问修饰符+普通变量(也叫成员变量)
方法=访问修饰符+函数
构造函数创建对象的时候 自动执行 不能手动执行 用来给属性初始化的
函数名是规定好的魔术方法名 访问修饰符(默认public)function __construct(参数){} public可以省略
析构函数销毁对象的时候自动执行 同样不能手动执行
函数名是规定好的魔术方法名 访问修饰符(默认public)function __destruct(){} public可以省略
构造函数和析构函数的区别在于一个能传参一个不能
对象是先创建后销毁 就像栈一样
对象
对象的创建
$obj=new A();
访问修饰符(public,private,protected)
public 公有的)
既可以在类的内部访问也可以 在类的外部访问
private (私有的)
只能在类的内部访问
protected (受保护的)
只能在类的内部和子类中访问 (能在整个继承链中访问)
封装
访问修饰符的作用就是用来封装的
封装的目的就是 提供有选择性的数据和访问
继承
继承使用关键字 extends
class 子类 extends 父类{}
子类可以继承父类的属性,方法,构造函数
注意:子类虽然能继承父类的属性,和方法但是如果属性和方法在父类的访问修饰符是private时子类不能访问
一般子类没有构造函数的时候 会继承父类的构造函数,而子类有构造函数的时候就不会继承父类的构造函数 这时如果要继承父类的构造函数可以使用 parent::__construct()或者父类名::__construct();
$this
表示对当前对象的引用(谁访问了我的)