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;

    }

 

posted @ 2020-12-09 14:58  跟我发泡?  阅读(166)  评论(0)    收藏  举报