PHP,OOP接口和抽象化。
PHP,OOP接口和抽象化。
该问题已经在这里有了答案:
可能是重复问题:
我读了一篇关于接口和抽象类区别的指南,但是我并没有理解它,指南说:
为什么要使用接口而不是抽象方法,
答案是使用接口不需要继承特定的抽象类,
因此,两个没有继承相同类的类可以包含类似的接口,
实际上,使用接口可以避免将父类膨胀为冗余方法。
我真的很想理解它,但是没有记住,如果有人能够在这里帮助我,我将非常感激。
admin 更改状态以发布 2023年5月24日
关于何时使用接口和抽象类的一些建议(由MSDN提供)
1)如果你预计创建多个版本的组件,请创建一个抽象类。抽象类提供了一种简单易行的方法来对组件进行版本控制。通过更新基类,所有继承的类都能够自动更新。相反,接口一旦创建就不能更改。如果需要新版本的接口,必须创建一个全新的接口。
2)如果你创建的功能对于非相关对象的广泛使用是有用的,请使用接口。抽象类应该主要用于关联紧密的对象,而接口最适合于为无关的类提供共同的功能。
3)如果你正在设计小而精简的功能,请使用接口。如果你正在设计大型功能单元,请使用抽象类。
4)如果你想为你组件的所有实现提供通用的可实现的功能,请使用抽象类。抽象类允许你部分实现你的类,而接口不包含任何成员的实现。
http://msdn.microsoft.com/en-us/library/scsyfw1d%28v=vs.71%29.aspx