特立独行的世外高人-php中的interface

autoload
Lepaskan: 2023-04-09 19:58:02
asal
2632 orang telah melayarinya

    php中的类是不允许多继承的,而接口可以多继承,其次使用接口可以封装具体的实现,不向外部暴露具体的实现细节,只将接口暴露出来,用户也只能够通过接口访问,这样也有一定的安全性。

    1.定义:接口,使用interface关键字定义,与类类似,专门用来规范一些共性类必须实现的方法。

interface People{}
Salin selepas log masuk

2.接口实现:接口是用来规范类必须完成的事情,所以接口只能被类实现:implements。(不允许实例化)

class Man implements People{}
Salin selepas log masuk

3 .接口成员:接口中只能定义公有抽象方法接口常量

interface Animal{
    
    const NAME = '人';//只允许有接口常量

    public function eat();//接口方法必须为公有抽象方法
}
Salin selepas log masuk

4.接口的实现类必须实现所有的抽象方法或者实现类为抽象类接口常量可以直接在实现类中访问

interface Animal{
    const NAME = '人';
    public function eat(); 
}

//实现接口
class Man implements Animal{
    //必须实现接口所有抽象方法
    public function eat(){
        echo self::NAME;				//可以访问接口常量
    }
}

//抽象类实现接口
abstract class Ladyboy implements Animal{}		//正常实现
Salin selepas log masuk

5.实现接口的类成员不允许重写接口中的常量,不允许增加接口方法的控制权限

interface Animal{
    const NAME = '人';
    public function eat(); 
}
class Woman implements Animal{
    //重写接口常量
    const NAME = '女人';			  //错误:不允许重写接口常量
    
    //强化接口方法控制
    private function eat(){}		//错误:接口方法不允许使用其他访问修饰限定符,必须使用public
}
Salin selepas log masuk

6.接口可以继承接口extends而且接口可以多继承接口

interface Plant{
    public function lightning();
}

interface Animal{
    public function eat();
}
//单继承
interface Man extends Animal{}
//多继承
interface Apple extends Plant,Animal{}
Salin selepas log masuk

推荐:php视频教程

Atas ialah kandungan terperinci 特立独行的世外高人-php中的interface. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan