Ich bin neu in C# so bitte entschuldigen Lücken in meinem Wissen. In meinem Code habe ich zwei Arten von Lebensmitteln frisch und regelmäßig. Beim Ermitteln der Kosten Fresh-Elemente verwenden eine andere FindCost-Methode als Regular.C# - Calling Override-Methode
Ich habe Probleme herauszufinden, wie Sie die FindCost() -Methode für Fresh Items aufrufen.
Ich glaube, ich muss irgendwie die Basis Schlüsselwort verwenden s:
namespace Groceries
{
class Program
{
static void Main(string[] args)
{
PurchasedItem CheckoutItem4 = new FreshItem();
CheckoutItem4.Name = "Rump Steak";
CheckoutItem4.Condition = "Fresh";
CheckoutItem4.Price = 11.99;
CheckoutItem4.Weight = .8;
ArrayList invoiceArray = new ArrayList();
invoiceArray.Add(CheckoutItem1);
foreach (PurchasedItem checkoutItem in invoiceArray)
{
Console.WriteLine($"Quantity: {checkoutItem.Quantity} Weight: {checkoutItem.Weight}kg ");
}
Console.ReadLine();
}
}
public class GroceryItem
{
public string Name { get; set; }
public string Condition { get; set; }
public double Price { get; set; }
public GroceryItem()
{
}
public GroceryItem(string name, double price)
{
this.Name = name;
this.Price = price;
}
public static void Invoice()
{
Console.WriteLine();
}
}
public class PurchasedItem : GroceryItem
{
public int Quantity { get; set; }
public double Weight { get; internal set; }
public virtual double FindCost()
{
double cost = Quantity * Price * 1.1; //1.1 is GST
return cost;
}
}
public class FreshItem : PurchasedItem
{
public new double Weight { get; set; } //kg
public override double FindCost()
{
double cost = Weight * Price;
return cost;
}
}
}
jede Hilfe dankbar
Sie können dies auf den betreffenden Code reduzieren. – juharr
Versuchen Sie, 'ArrayList' zu vermeiden - verwenden Sie stattdessen' List '. –
Enigmativity
Dieser weiße Raum tut mir weh – anomeric