推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

PHP接口、抽象类、对象、类各自定义

   2023-08-14 网络整理佚名1040
核心提示:对接口的使用是通过关键字,多个采用逗号相隔接口不能定义成员变量(包括类静态变量),只能定义常量子类必须实现接口定义的所有方法接口只能定义不能实现该方法,对方法(行为)进行抽象接口没有构造函数接口中的方法和实现它的类默认都是类型的不能实例化final类型)接口没有构造函数,抽象类可以有构造函数。接口中的方法默认都是类型的,而抽象类中的方法可以使用,,来修饰。

最近,我发现自己离基础还很远。 工作之余,我重新整理了一下关于PHP的基础知识,重新整理强化应用。

界面

界面特点:

接口的定义是关键字,接口的使用是通过关键字进行的,多个接口之间用逗号分隔。 不能定义成员变量(包括类静态变量),只能定义常量。 子类必须实现接口定义的所有方法。 接口只能定义该方法,不能实现,方法(行为)是抽象的。 该接口没有构造函数。 接口中的方法和实现它的类默认都是类型,无法实例化

永远记住一个特性:接口是定义行为规范(意味着子类必须按照其规则重写所有方法)

继承方式有两种

抽象类继承

// 定义接口 A
interface A
{
    // 特点一:只能定义常量
//    public $a = '1234'; error
    const TEST_ConST ="567";
    // 特点二:接口里面的所有方法都是public 公共 并且只能定义不能实现
    public function speak();
    public function walk();
    public function run();
    //特点四:方法只能定义不能实现
//    public function tools()
//    {
//        echo 1; error
//    }
}

// 继承接口A
class Info implements A
{
    public $a = '1234';
    public function __construct()
    {
        $this->a = "789";
    }
    public function speak()
    {
        echo ‘重写方法’;
    }
    public function walk()
    {
        echo '必须重写接口的walk方法';
    }
    public function run()
    {
        echo '必须重写接口的run方法';
    }
}

抽象类继承

abstract class Father implements A
{
    // 公共行为
    abstract public function fly(); // 抽象方法
    abstract public function walk(); // 抽象方法
    // 当抽象类重写了接口方法时候,那么继承抽象类的子类可以不需要重写接口方法了
    public function speak(){
        echo "father speak skill n";
    }
    abstract protected function jums();
    // 重写接口方法
    public function error()
    {
        echo '继承属性';
    }
}

抽象类

特征:

抽象类定义使用关键字:子类继承使用关键字:子类必须在父类中定义所有抽象方法,并且这些方法的访问控制必须与父类中相同(或更宽松),抽象方法只定义,没有完成。 无法实例化,可以定义子类必须实现的抽象方法(只有定义为抽象方法的才必须实现)。 如果类中有抽象方法,则该类必须定义为抽象类,并且该类必须声明为: 类可以有构造函数,抽象类中的方法可以用,, 修饰。 一个类可以同时实现多个接口,但一个类只能继承一个抽象类。 抽象类和接口之间的区别在于关键字的使用。 抽象类的使用是通过关键字进行的。 接口定义和抽象类定义不能声明接口中的成员变量(包括类静态变量),但可以声明类常量。 抽象类中可以声明各种类型的成员变量,实现数据封装。 (可以声明为final类型)接口没有构造函数,抽象类可以有构造函数。

接口中的方法默认都是类型,而抽象类中的方法可以用,,修饰。

一个类可以同时实现多个接口,但一个类只能继承一个抽象类。

抽象类或接口

如果您想创建一个由一些密切相关的对象采用的模型,您可以使用抽象类。 当您想要创建一些不相关的对象将采用的功能时,可以使用接口。

当行为必须从多个源继承时使用接口。

如果您知道所有类将共享一个公共行为实现,请使用抽象类并在其中实现该行为。

 
标签: 抽象类 php类 接口
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON