Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php面向对象之抽像类、接口、final、类常

作者:续写丶未来式   发布日期:2024-07-20   浏览:388

抽象类(abstract class)是一种不能被实例化的类,只能被继承。抽象类可以包含抽象方法(没有具体实现的方法)和具体方法(有具体实现的方法)。子类必须实现抽象类中的所有抽象方法。

接口(interface)是一种定义了一组方法的类似协议的结构。接口中的方法没有具体的实现,只有方法的声明。类可以实现一个或多个接口,实现接口的类必须实现接口中定义的所有方法。

final关键字用于修饰类、方法或属性,表示它们不能被继承、重写或修改。final类不能被继承,final方法不能被重写,final属性不能被修改。

类常量(class constant)是类中定义的不可修改的常量。类常量使用const关键字定义,一旦定义后不能被修改。类常量可以通过类名访问,不需要实例化类。

下面是一个示例代码:

abstract class Animal {
    abstract public function makeSound();
}

class Dog extends Animal {
    public function makeSound() {
        echo "Woof!";
    }
}

interface Vehicle {
    public function start();
    public function stop();
}

class Car implements Vehicle {
    public function start() {
        echo "Car started.";
    }

    public function stop() {
        echo "Car stopped.";
    }
}

final class Math {
    const PI = 3.14;
}

echo Math::PI; // 输出3.14

在上面的代码中,Animal是一个抽象类,定义了一个抽象方法makeSound。Dog是Animal的子类,必须实现makeSound方法。

Vehicle是一个接口,定义了start和stop方法。Car类实现了Vehicle接口,并实现了接口中的所有方法。

Math是一个final类,不能被继承。它定义了一个类常量PI,可以通过类名直接访问。

最后,输出Math类中的常量PI的值为3.14。

上一篇:php入门教程之面向对象

下一篇:PHP5面向对象详解 - (10) __set() __get() __isset() __unset()四个方法

大家都在看

php session用法

php 定义常量

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站