- 什么时候应该
implement
or extend
使用?
- 有哪些现实世界的例子?
它是否正确?
实施似乎是强制类中存在某些方法并且这些方法函数调用格式正确的方法。实施是not一种将变量或“设置”传递给类的方法?
预期的现实场景:我有一个电子商务平台,具有多种支付类别,并且全部遵循相同的设计。当应添加新的支付类别时,遵循定义的设计非常容易interface
从一开始就确保所有的细节都到位。
延伸类使扩展(子?)类继承其父类的所有内容,除了声明为的方法和变量private
?
预期的现实场景:我有一堂课叫sessions
有两个子类名为sessioncookies
and databasesessions
. sessioncookies
and databasesessions
,一起从其父会话继承许多相互配置选项,从而可以轻松更改配置选项以影响各种最终访问者数据存储。
继承对于减少重写代码量很有用。如果您有多个具有一些常用方法或字段的类,则无需一遍又一遍地定义这些方法和字段,您可以将它们分解到基类中,并让每个子类扩展该基类。
接口(和implements
) 当您想要定义一个公共的protocol一组对象的行为方式。例如,您可能希望强制可以比较可比较的对象的相等性和散列等。
使用继承最终是一种设计选择。注意在多个类中定义相同方法的情况;这些都是很好的例子,您可以将这些方法分解到基类中。对于遵守某些相同特征的类也是如此:您可以通过将这些特征放入由那些相关类实现的接口中来保证一致性。
继承是 OOP 中的一个重要概念,其意义远远超出了 PHP 的范畴。我建议你阅读维基百科关于继承的文章 http://en.wikipedia.org/wiki/Inheritance_%28object-oriented_programming%29也许四人帮的设计模式 https://rads.stackoverflow.com/amzn/click/com/0201633612.
我相信你对继承的理解基本上是正确的。下一步将是在生产中使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)