【发布时间】:2021-12-15 20:19:13
【问题描述】:
所以我需要在这个类中创建一个名为“store”的类,我需要一个名为“start”的方法,现在在所述方法中我需要从不同的类创建 9 个对象。然后我需要在主程序中调用所述方法,并在调用消息后能够引用所述创建的对象。
class Store
{
public void start()
{
Pizza vesuvio = new Pizza("Vesuvio", 75, "Tomato", "Cheese", "Ham");
Pizza vegetarian = new Pizza("Vegetarian", 80, "Tomato", "cheese", "vegetables");
Pizza contadina = new Pizza("Containda", 75, "Tomato", "cheese", "mushrooms", "olives");
Customer victor = new Customer("Victor", "Hansen");
Customer jacob = new Customer("Jacob", "Pedersen");
Customer maghrete = new Customer("Maghrete", "Ingrid");
Order victorOrdre = new Order(vesuvio.PizzaPrice, 1.25, vesuvio.PizzaPrice * 1.25);
Order jacobOrdre = new Order(vegetarian.PizzaPrice, 1.25, vegetarian.PizzaPrice * 1.25);
Order maghreteOrdre = new Order(contadina.PizzaPrice, 1.25, contadina.PizzaPrice * 1.25);
return;
}
}
这是我创建的方法,但无论我返回什么或将类型更改为什么,我似乎都无法在主程序中调用该方法。 这是我被指示做的事情
- 要测试您的应用程序,您应该使用 Start 方法创建一个 Store 类。
- 从类 Program 中的 main 方法调用 Start 方法。
- 在 Start 方法中,您应该:
- 创建 3 个 Pizza 对象、3 个 Customer 对象和 3 个 Order 对象,每个对象都有不同的披萨。
- 打印订单信息
- 使用每个 Order 对象的对象引用,您应该打印出每个订单的披萨名称、客户名称和总价。
public class Order
{
// instance fields
private double _tax;
private int _priceBeforeTaxes;
private double _totalPrice;
//properties
public double Tax
{
get { return _tax; }
set { _tax = 0.25; }
}
public int PriceBeforeTaxes
{
get { return _priceBeforeTaxes; }
}
public double TotalPrice
{
get { return _totalPrice; }
}
//constructor
public Order(int priceBeforeTax, double tax, double totalPrice)
{
_priceBeforeTaxes = priceBeforeTax;
_tax = tax;
_totalPrice = totalPrice;
}
//methods
public override string ToString()
{
string obj = $"order total before taxes is {PriceBeforeTaxes} with taxes of 25% is equal to {TotalPrice} ";
return obj;
}
public double CalculateTotalPrice(int PriceBeforeTaxes, double Tax)
{
double CalculatedTotalPrice = PriceBeforeTaxes * Tax;
return CalculatedTotalPrice;
}
}
public class Pizza
{
private string _pizzaName;
public int _pizzaPrice;
private string _pizzaToppings1;
private string _pizzaToppings2;
private string _pizzaToppings3;
private string _pizzaToppings4;
//Properties
public string PizzaName
{
get { return _pizzaName; }
}
public int PizzaPrice
{
get { return _pizzaPrice; }
}
public string PizzaToppings1
{
get { return _pizzaToppings1; }
}
public string PizzaToppings2
{
get { return _pizzaToppings2; }
}
public string PizzaToppings3
{
get { return _pizzaToppings3; }
}
public string PizzaToppings4
{
get { return _pizzaToppings4; }
}
//constructor
public Pizza(string pizzaName, int pizzaPrice, string pizzaToppings1, string pizzaToppings2, string pizzaToppings3)
{
_pizzaName = pizzaName;
_pizzaPrice = pizzaPrice;
_pizzaToppings1 = pizzaToppings1;
_pizzaToppings2 = pizzaToppings2;
_pizzaToppings3 = pizzaToppings3;
}
public Pizza(string pizzaName, int pizzaPrice, string pizzaToppings1, string pizzaToppings2, string pizzaToppings3, string pizzaToppings4)
{
_pizzaName = pizzaName;
_pizzaPrice = pizzaPrice;
_pizzaToppings1 = pizzaToppings1;
_pizzaToppings2 = pizzaToppings2;
_pizzaToppings3 = pizzaToppings3;
_pizzaToppings4 = pizzaToppings4;
}
//method
public override string ToString()
{
string obj = $"{PizzaName} with {PizzaToppings1}, {PizzaToppings2}, {PizzaToppings3}, {PizzaToppings4} costs {PizzaPrice}kr";
return obj;
}
}
public class Customer
{
private string _customerFirstName;
private int _customerNumber;
private string _customerAddress;
private string _customerLastName;
//properties
public string CustomerFirstName
{
get { return _customerFirstName; }
set { _customerFirstName = value; }
}
public string CustomerLastName
{
get { return _customerLastName; }
set { _customerLastName = value; }
}
public int CustomerNumber
{
get { return _customerNumber; }
set { _customerNumber = value; }
}
public string CustomerAddress
{
get { return _customerAddress; }
set { _customerAddress = value; }
}
//constructor
public Customer(string CustomerFirstName, string CustomerLastName, int CustomerNumber, string CustomerAddress)
{
_customerFirstName = CustomerFirstName;
_customerNumber = CustomerNumber;
_customerAddress = CustomerAddress;
_customerLastName = CustomerLastName;
if (CustomerNumber < 100000000 && CustomerNumber > 9999999)
{
}
else
{
Console.WriteLine("this is not a valid phone number, valid phone number must be 8 digits. Please try again.");
}
}
//methods
public override string ToString()
{
string obj = $"{CustomerFirstName}, {CustomerLastName}, \n{CustomerNumber}, \n{CustomerAddress}";
return obj;
}
}
class Program
{
static void Main(string[] args)
{
Store store = new Store();
store.start();
}
}
这就是我应该调用方法并引用我在方法中创建的对象的地方。
【问题讨论】:
-
调用
start方法的main代码在哪里?Pizza、Customer和Order类在哪里?我建议您仔细阅读 SO tour 部分,因为它显示了 SO 的工作原理。 How to Ask 部分可能会有所帮助。此外,您可能会发现 SO Asking 部分很有用。 -
你能发布你的课程吗
-
您从哪里获得这些课程?是您自己创建的吗?
-
是的,我自己创建了它们。我是学生,这是我们作业的一部分。
-
如果行首至少有四个空格,则代码格式为单声道。这就是为什么您的命名空间部分看起来像普通单词的原因。您可以使用鼠标突出显示代码并单击文本框上方的
{}按钮。这将全部缩进 4 个空格,为突出显示的文本启用代码块