1

我有一个基本的购物车模型,其中的产品基于数据库中的数据,其中包含 productID、productName、Price、Stock 列。然后我有一个项目类,它代表消费者选择订购的产品,产品 ID、产品名称、价格。然后我有 itemOrder 类,它使用 productID、ProductName、Price 和 getPrice() 引用项目。然后有一个 Cart 类,它保存 itemOrder 并定义了添加和删除 itemOrder 的方法。

在任何这些类或典型的购物车系统中,OOP 技术在哪里发挥作用。

public class Product
{
    public int productID { get; set; }
    public string productName { get; set; }
    ...
 }
}

public class Item : Product
{

}

public class ItemOrder : Item
{
    public int itemQuantity { get; set; }
    public double getPrice(int quantity, double price)
    {
        return price = price * quantity;
    }

}
public class Cart
{

}
4

1 回答 1

4

OOP 不需要继承(例如,参见讨论)。如果你的类对世界隐藏了内部细节,提供了一个客户端不能用来破坏对象的一致接口,并且每个类都很好地完成了一项工作,那么你就有了 OOP(在我个人看来)。

仅当两个类之间的关系满足Liskov 替换原则时才使用继承:当且仅当Child 是 Parent 时 Child 从 Parent 继承。例如,当您实现一个接口时,就调用代码而言,新类就是该接口。

一个项目、一个产品和一个订单是三个不同的东西,它们都不能与其他东西互换。所有三个类都应该存在,但它们不应该通过继承相关联。Carts、Items 和 Orders 可以通过引用或包含而不是通过继承来引用 Products 和彼此。

于 2013-11-04T02:23:57.230 回答