PHP多个类实现相同的接口

时间:2014-10-15 06:00:52

标签: php oop

如果我在PHP中有一个界面,请说

interface AuthenticationInterface {
}

和两个实现接口的类,例如

class ApiKey implements AuthenticationInterface {
}

class AuthToken implements AuthenticationInterface {
}

如何在实例化新的AuthenticationInterface时确定使用哪些类?

3 个答案:

答案 0 :(得分:3)

接口用于为继承它的类定义结构(体系结构)。

  

接口是一个合同,指定一组可在任何实现对象上使用的方法,字段和属性

我认为您对班级工厂设计模式感兴趣。在此处阅读更多相关信息:php design patterns

答案 1 :(得分:0)

接口无法实例化。您可以创建类的对象。

答案 2 :(得分:0)

如果您的对象在上游的某个地方被实例化,并且您知道的是它实现了您的AuthenticationInterface接口(因此您知道它可以是少数类中的一个......在您的情况下为2),您可以告诉哪个通过使用“instanceof”

对您的对象进行分类
if ($your_object instanceof ApiKey)
{
    echo 'object class is ApiKey';
}