我已经开始在PHP中编写一个电子商务类库作为抽象类,目的是强制实现具体类以使用load()方法将数据加载到对象中:
abstract Cart {
abstract function load();
// other stuff ...
}
class MyCart extends Cart {
public function load()
{
// pull in data from anywhere ...
}
}
我想知道这是否是正确的方法......
我想:
我听说有适配器和东西,虽然我还没有看过这些(还有)..有人能指出我正确的方向吗?
干杯, 约翰。
答案 0 :(得分:2)
我建议不要使用抽象类,而是建议使用接口来实现此目的:
interface Cart {
public function load();
// other stuff ...
}
class MyCart implements Cart {
public function load()
{
// pull in data from anywhere ...
}
}
接口用于描述派生类的结构,如果要添加所有提供相同方法的不同类,这是最好的方法。另一个优点是类只能扩展一个父类(即Cart类),但可以实现多个接口。 阅读更多关于interfaces on PHP.net的内容,这里有一段摘录,强调了为什么我认为这种模式符合您的要求:
对象接口允许您创建代码,该代码指定类必须实现哪些方法,而不必定义如何处理这些方法。