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

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

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

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

final类

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

final class A
{...}

构造函数和析构函数

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

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

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

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

__destruct(): void

继承

一个类可以在声明中用 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();
?>

对象

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

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

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

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

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

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

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

this、self、parent关键字

this 指向当前实例。

self 指向当前类。

parent 指向当前类的父类。

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

(0)
上一篇 2021年3月2日 00:44
下一篇 2021年3月2日 17:53

相关推荐

  • 1.1PHP语言的标记(Tag)

    PHP 脚本以 <?php 开头,以 ?> 结尾。 PHP解释器会执行 <?php 和 ?> 标记内的代码,标记外的内容会原封不动地输出。 如果文件内容仅仅包含 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外…

    PHP语言教程 2021年1月1日
    03990
  • 5.3PHP语言的纤程(Fiber)

    纤程可以在调用堆栈中的任何位置被挂起,在纤程内暂停执行,直到稍后恢复。 纤程一旦被暂停,可以使用 Fiber::resume() 传递任意值、或者使用 Fiber::throw() 向纤程抛出一个异常以恢复运行。这个值或者异常将会在 Fiber::suspend()&n…

    PHP语言教程 2021年5月3日
    04700
  • 1.3PHP语言的标识符(Identifier)

    标识符 任意长度,由任何字母、数字、下划线组成; 不能以数字开头; 区分大小写,函数名称例外; 命名约定

    PHP语言教程 2021年1月3日
    03430

发表评论

登录后才能评论