面向对象编程中的接口和抽象类

时间:2010-08-18 23:47:36

标签: php oop

  

可能重复:
  Interface vs Abstract Class (general OO)

大家好,

我决定深入研究OOP,并一直在使用PHP实践设计模式。我刚才有一个问题需要我提出意见。接口和抽象类有哪些优势?它可能很模糊,但任何光线都会有所帮助。我可以编写代码来使用它们并通过概念理解每一个,但我只是想知道默认情况下我应该使用哪个,为什么我应该使用一个而不是另一个。基本上是用例场景。

提前致谢。

Eagletrophy

1 个答案:

答案 0 :(得分:2)

我同时使用两者。对我来说,接口用于描述功能,抽象类用于提供基本功能。

我的意思是,每当我需要“对象类型”作为方法/函数的参数时,我几乎总是为此目的声明一个接口。所以我的方法有foo(BarInterface $bar)

等签名

每当我从一个类中创建多个子节点(并且可以共享功能)时,我创建一个提供基本实现的抽象类(并且还扩展了接口)......

我希望有帮助...