我现在有两个CLASSES,在初始化Order类时我必须将数据传递给构造函数,但构造函数接受CartContents
类型数据是什么意思,传递给参数的内容。我不明白这个概念。
//first class
public class CartContents
{
public CartEntry[] items;
}
//second class
public class Order
{
private CartContents cart;
private float salesTax;
public Order(CartContents cart, float salesTax)
{
this.cart = cart;
this.salesTax = salesTax;
}
public float OrderTotal()
{
float cartTotal = 0;
for (int i = 0; i < cart.items.Length; i++)
{
cartTotal += cart.items[i].Price * cart.items[i].Quantity;
}
cartTotal += cartTotal * salesTax;
return cartTotal;
}
public static void Main()
{
Order OrderObj = new Order(new CartContents(), 12.5);
Console.Read();
}
}
答案 0 :(得分:0)
Order类有一个自定义的构造函数:
公共秩序(CartContents购物车,浮动salesTax)。
这意味着无论何时实例化Order类,都需要将类型为CartContents的对象和float类型的对象作为参数传递给Order Class。
在您的示例的主方法中,您可以清楚地看到,在实例化Order对象时,您传递了CartContents类型和float类型。参数“new CartContents()”实际上是CartContents的构造函数,因此您将构造函数作为新参数传递给Order类,您可以看到在CartContents类中初始化一个名为“items”的数组,类型为CartContent
请参阅以下有关C#中构造函数的链接:
编辑:固定链接