类中接口的用途

21 php

编写课程时界面的目的是什么?

这是我在网上看到的一个例子.

<?php
interface Chargeable {
    public function getPrice();
}

class Employee implements Chargeable {
    protected $price;

    public function getPrice() {
        return $this->price;
    }
}

$product = new Employee();

?>
Run Code Online (Sandbox Code Playgroud)

Gab*_*osa 33

这是我学习界面和理解界面的方法之一.

想象一下这种情况:

abstract class Plane {
    public function openDoors();
}


interface Fliers {
    public function fly();
}
Run Code Online (Sandbox Code Playgroud)

现在让我们使用它们:

class Boeing747 extends Plane implements Fliers {
    public function fly() {
        // some stuff
    }

    public function openDoors() {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

class Tweety implements Fliers{
    public function fly() {
        // some stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

Boeing747是飞机能飞和翠儿是一只鸟比能飞,但它是没有意义的翠儿为"openDoors".

关键是接口可以由不同类型的对象实现,但类不能.正如你所看到的,除了两者都可以飞行之外,波音747和特威蒂没有任何共同之处.

  • 完美答案恕我直言 (4认同)
  • 你想要我编辑什么? (3认同)

Bjo*_*orn 11

接口是面向对象编程中的一个概念,它支持多态.基本上,接口就像一个契约,实现它的类同意提供某些功能,以便它们可以像使用接口的其他类一样使用

您的示例显示了保证getPrice方法可用的类.然后,您可以编写利用具有此方法的对象的代码,而无需担心它是什么类.