带类类型变量的参数

时间:2015-03-19 05:44:26

标签: c#

我现在有两个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();
    }
}

1 个答案:

答案 0 :(得分:0)

Order类有一个自定义的构造函数:

公共秩序(CartContents购物车,浮动salesTax)。

这意味着无论何时实例化Order类,都需要将类型为CartContents的对象和float类型的对象作为参数传递给Order Class。

在您的示例的主方法中,您可以清楚地看到,在实例化Order对象时,您传递了CartContents类型和float类型。参数“new CartContents()”实际上是CartContents的构造函数,因此您将构造函数作为新参数传递给Order类,您可以看到在CartContents类中初始化一个名为“items”的数组,类型为CartContent

请参阅以下有关C#中构造函数的链接:

编辑:固定链接

1)Instance Constructors in C#

2)Using Constrctors in C#