PHP面向对象
面向对象
面向对象内容:面向对象。面向过程。
类 −定义了一件事物的抽象特点。
对象 − 是类的实例。
成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可称为对象的属性。
成员函数 − 定义在类的内部,可用于访问对象的数据。

类的定义:
类使用 class 关键字后加上类名定义
类名后的一对大括号({})内可以定义变量和方法。
类的变量使用 var 来声明, 变量也可以初始化值。
函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。
创建对象:
使用时:
$bmw = new phpClass();
调用成员变量和方法:
$bmw->myfunc();$bmw->var1;
命名空间中类的定义和使用:
如图-------------->

构造函数:
主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,在创建对象的语句中与 new 运算符一起使用。
function __construct(){}

析构函数:
对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
function __destruct(){}
继承:extends
一个父类可以被多个子类继承,
一个子类只能继承一个父类;

方法重写:
如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
访问控制:
public(公有):公有的类成员可以在任何地方被访问。
protected(受保护):受保护的类成员则可以被其自身以及其子类访问。
private(私有):私有的类成员则只能被其定义所在的类访问。

属性的访问控制:
类属性必须定义为公有,受保护,私有之一。如果用 var 定义,则被视为公有。
方法的访问控制:
类中的方法可以被定义为公有,私有或受保护。如果没有设置这些关键字,则该方法默认为公有。
在子类中调用父类的属性和方法时:使用$this调用;不可在定义属性时使用$this;
在静态方法中不允许使用$this,只能使用self,较为靠谱的回答说明是$this是实例化对象的指针,self调用的类的指针。静态变量和静态方法始终属于类。
parent::调用静态属性和方法;
常量:
可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。
class MyClass{
const constant = '常量值';
function showConstant() {
echo self::constant;//self指的类的本身
}}
echo MyClass::constant;//在类外时使用类的名字
class aabb extends MyClass {
funcation smker(){
echo parents::constant;//用父类的常量时用parents
}
}
static 关键字:
声明类属性或方法为 static(静态),就可以不实例化类而直接访问。
例如
class a{
public static $q = 110;
funcation aa(){
each self::$q;
}
echo a::$q;
}
class b extends a{
funcation ss(){
each parents::$q;
}

浙公网安备 33010602011771号