我创建了一个Sales类,用于跟踪产品的名称,销售时间和价格。我有一个名为Client的类。如何在销售中跟踪客户类的实例?
class Sales
{
string productname;
double price;
private DateTime _salesDate;
public Sales(string productname, double price)
{
this.productname = productname;
this.price = price;
_salesDate = DateTime.Now;
}
答案 0 :(得分:1)
在我看来,最简单的方法就是将属性添加到Client类型的Sales类中:
class Sales
{
string productname;
double price;
private DateTime _salesDate;
public Sales(string productname, double price, Client soldTo)
{
this.productname = productname;
this.price = price;
this.SoldTo = soldTo;
_salesDate = DateTime.Now;
}
public Client SoldTo {get; private set;} // Added public to the property
}
如果单个Sale
可以是多个客户端,请在构造函数中使用List<Client>
而不是单个Client
作为属性类型。
答案 1 :(得分:0)
将List<Client> _soldToClients
属性添加到您的销售类
答案 2 :(得分:0)
你走了:
class Sales
{
string productname;
double price;
private DateTime _salesDate;
private List<Client> _SoldTheItemTo;
public Sales(string productname, double price)
{
this.productname = productname;
this.price = price;
_salesDate = DateTime.Now;
Client C = new Client();
C.Name = "XYZ";
_SoldTheItemTo.Add(C);
}
}
答案 3 :(得分:0)
为产品及其相关属性创建类。
public class Product
{
double price;
string productname;
public Product(string productname, double price)
{
this.productname = productname;
this.price = price;
}
}
和你的销售类,
public class Sale
{
List<Product> Products;
Client _SoldTheItemTo;
public Sale(List<Product> products, Client client)
{
_SoldTheItemTo = client;
Products = products;
}
}
尝试将每个对象分开,因为您知道销售有多个产品,您将为每个客户创建单独的发票,因此无需保留客户列表,保留产品列表并根据您的需要进行管理。
答案 4 :(得分:0)
如果你想用松散耦合的正确方法来开发它,那么你应该在“观察者设计模式”中实现它。 Observer定义了一对多关系,这样当一个对象改变状态时,其他对象将自动得到通知和更新。 浏览以下链接,正确学习然后实施您的问题: