PHP,OOP接口和抽象化。

20 浏览
0 Comments

PHP,OOP接口和抽象化。

该问题已经在这里有了答案

可能是重复问题:

接口和抽象类之间的区别是什么?

我读了一篇关于接口和抽象类区别的指南,但是我并没有理解它,指南说:

为什么要使用接口而不是抽象方法,

答案是使用接口不需要继承特定的抽象类,

因此,两个没有继承相同类的类可以包含类似的接口,

实际上,使用接口可以避免将父类膨胀为冗余方法。

我真的很想理解它,但是没有记住,如果有人能够在这里帮助我,我将非常感激。

admin 更改状态以发布 2023年5月24日
0
0 Comments

接口允许你基于多个不相关的类层次结构中相似集合的方法来实现多态性。这意味着你可以编写一个方法来使用任何一个不一定相互关联的一整个范围的类。你还可以通过在一个类上应用多个接口来混合和匹配,从而使该类可用于多个用途。

相比之下,抽象方法只允许你可互换地使用父类的直接子类,这可能会有限制,因为你不能有多个行为集合(因为类只能有一个父类)。

0
0 Comments

关于何时使用接口和抽象类的一些建议(由MSDN提供)

1)如果你预计创建多个版本的组件,请创建一个抽象类。抽象类提供了一种简单易行的方法来对组件进行版本控制。通过更新基类,所有继承的类都能够自动更新。相反,接口一旦创建就不能更改。如果需要新版本的接口,必须创建一个全新的接口。

2)如果你创建的功能对于非相关对象的广泛使用是有用的,请使用接口。抽象类应该主要用于关联紧密的对象,而接口最适合于为无关的类提供共同的功能。

3)如果你正在设计小而精简的功能,请使用接口。如果你正在设计大型功能单元,请使用抽象类。

4)如果你想为你组件的所有实现提供通用的可实现的功能,请使用抽象类。抽象类允许你部分实现你的类,而接口不包含任何成员的实现。


http://msdn.microsoft.com/en-us/library/scsyfw1d%28v=vs.71%29.aspx

0