【发布时间】:2019-04-16 12:29:14
【问题描述】:
首先,我想知道如何对包含以下数据的文本文件执行计算:
类型 产品 价格 数量
常规,面包,2.00,2
普通,牛奶,2.00,3
我想执行计算,例如获取每一行、每一行的总成本,然后将结果写入一个新文件。
请注意,我需要将其格式化为 Grocery Item 是基类而 PurchasedItem 和 FreshItem 都是子类的结构,因此我需要使用每个子类上的方法进行计算。 注意我已经尝试使用测试值而不是读取文本文件值,似乎我无法从 FreshItem 子类中检索该方法,但它适用于 PurchasedItem 类上的方法(我想这个问题是以后的问题,我想确保我使用的是首先兼容 writeAllLines 方法,可以使用子类方法) 下面的示例缺少构造函数,只是一个示例布局
class GroceryItem
{
public void writeFile()
{
List<string> lines = new List<string>(File.ReadAllLines("groceries.txt"));
//regular item cost calculator
PurchasedItem purchasedItem = new PurchasedItem(50,1); //testing to return value to print into the write out file
double cost = purchasedItem.regularCost();
lines.Add(Convert.ToString(cost));
//fresh item cost calculation here
double purchaseCost = purchasedItem.freshItemCost(10,1); //<<<<<<============Trying to add the method from the sub-subclass freshItemCost()
//total items calculation here
//total cost calculation here
// Reads all lines from the file and puts them into the list.
lines.Add("Grocery for you"); // You can add new lines now.
lines.Add(DateTime.Now.ToString());
File.WriteAllLines("c:\\MicrosoftVisual\\invoice.txt", lines);
}
public class PurchasedItem : GroceryItem //inheriting properties from class GroceryItem
{
public double regularCost() //method from cost of regular
{
return this.price * this.quantity * 1.1; //workout out cost for purchases including GST
}
}
public class FreshItem : PurchasedItem //Inheriting properties from class Purchased Item
{
public double freshItemCost(double w, double p) //method to get cost of fresh item
{
return this.weight * this.price; //workout cost of the fresh item excluding GST
}
【问题讨论】:
-
好吧,不是每个
PurchasedItem实际上都是FreshItem,它肯定没有freshItemCost。你会创建一个FreshItem的实例而不是PurchasedItem来调用成员:FreshItem purchasedItem = new FreshItem(50,1): -
omg 感谢您指出这一点,出于某种原因,我试图在新类而不是基类中添加实例,我上周才开始学习 OOP,所以可能是新手错误.. . 好的,现在子类的事情已经解决了......我如何计算我正在阅读的内容?
-
我不明白你的问题。您要执行计算吗?你想计算什么?
freshItemCost-method 不符合您的预期吗?
标签: c#