Den*_*ovs 5 php theory abstract-class class-design class
你有一个完全适合作为抽象的类,但如果没有派生类提供的数据,这个类就无法正常工作.将所有数据传递给构造函数并不方便,因为并非所有数据都可能需要,并且其中许多可以是动态的(来自子函数).
构成这种结构的最佳实践是什么?或者首先是一个糟糕的设计?
如果该功能有一个可以在大多数儿童中依赖的合理默认行为,则可以将其作为正常行为来实现。否则(没有默认行为和/或大多数孩子必须覆盖它),最好将其声明为抽象。副作用是您永远不会忘记在子类中定义它,因为如果不这样做,将会立即报告。
另一个机会是使用特定于子类的数据的容器(例如,数组),但仍然需要进行一般检查或可以在共同祖先中完成的其他处理。通过这种方式,您可以定义一个保存数据的变量,但数据本身会填充到子项中。父类中的代码可以迭代此容器并对所有元素执行一些例行工作。
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |