C# OOP真实世界示例

C# OOP真实世界示例,c#,class,oop,inheritance,C#,Class,Oop,Inheritance,我有一个基本的购物车模型,其中的产品基于数据库中的数据,数据库中有productID、productName、Price和Stock列。然后,我有一个item类,它表示消费者选择使用productID、ProductName和Price订购的商品。然后,我有一个itemOrder类,该类使用productID、ProductName、Price引用该项目,使用getPrice()引用该数量。然后有一个Cart类,它保存itemOrder的并定义添加和删除itemOrder的方法 在这些类或典型的

我有一个基本的购物车模型,其中的产品基于数据库中的数据,数据库中有productID、productName、Price和Stock列。然后,我有一个item类,它表示消费者选择使用productID、ProductName和Price订购的商品。然后,我有一个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
{

}

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

仅当两个类之间的关系满足以下条件时才使用继承:当且仅当子类是父类时,子类从父类继承。例如,当您实现一个接口时,就调用代码而言,新类就是该接口


一个项目、一个产品和一个订单是三种不同的东西,它们都不能相互交换。这三个类都应该存在,但它们不应该通过继承来关联。Cart、Items和Order可以通过引用或包含而不是继承来引用产品和彼此引用。

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

仅当两个类之间的关系满足以下条件时才使用继承:当且仅当子类是父类时,子类从父类继承。例如,当您实现一个接口时,就调用代码而言,新类就是该接口


一个项目、一个产品和一个订单是三种不同的东西,它们都不能相互交换。这三个类都应该存在,但它们不应该通过继承来关联。Cart、Items和Order可以通过引用或包含而不是继承来引用产品和彼此引用。

当您讨论如何协调使用这些对象的流程之间的交互时,这个问题更合适。您可能需要检查物品清单上的库存,支付物品清单的费用,然后发送物品清单已发货的确认函,甚至添加物品清单退款功能。您列出的普通对象只是数据结构,用于保存可以使用标准约定传递的信息。OO和接口通常在控制对对象的访问和应用处理时发挥作用。在讨论如何协调使用这些对象的进程之间的交互时,这个问题更合适。您可能需要检查物品清单上的库存,支付物品清单的费用,然后发送物品清单已发货的确认函,甚至添加物品清单退款功能。您列出的普通对象只是数据结构,用于保存可以使用标准约定传递的信息。OO和接口通常在控制对对象的访问和应用处理时发挥作用。