2.2PHP语言的类(Class)、继承(Extends)、构造函数(Constructor)、对象(Object)

一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)。

class 类名
{
    // 声明属性
    public $属性;

    // 声明方法
    function 方法名(形参) 
    {
        方法体;
    }
}

继承

一个类可以在声明中用 extends 关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。

被继承的方法和属性可以通过用同样的名字重新声明被覆盖。但是如果父类定义方法时使用了 final,则该方法不可被覆盖。可以通过 parent:: 来访问被覆盖的方法或属性。

<?php
class ExtendClass extends SimpleClass
{
    // Redefine the parent method
    function displayVar()
    {
        echo "Extending class\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

final关键字加在类前面可以禁止一个类被继承。

final class A
{...}

构造函数和析构函数

具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

一个类可以没有构造函数,构造函数可以没有参数,构造函数体可以为空。

__construct(mixed ...$values = ""): void

析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

__destruct(): void

对象

要创建一个类的实例,必须使用 new 关键字。

如果没有参数要传递给类的构造函数,类名后的括号则可以省略掉。

//创建对象
$对象名 = new 类名();

可以用 ->(对象操作符)来访问非静态属性和方法。

//对象直接访问实例属性和方法
$对象名->实例属性;
$对象名->实例方法;

可以用 ::(称为范围解析操作符或双冒号)来访问静态成员,类常量,还可以用于覆盖类中的属性和方法。

//类直接访问类属性和方法
类::类属性;
类::类方法;

this、self、parent关键字

this 指向当前实例。

self 指向当前类。

parent 指向当前类的父类。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/back/php/3457.html

发表评论

登录后才能评论