我有基本的抽象Goods
类和继承的Book
类。
abstract class Goods
{
public decimal weight;
string Title, BarCode;
double Price;
public Goods(string title, string barCode, double price)
{
Title = title;
BarCode = barCode;
Price = price;
}
}
abstract class Book : Goods
{
protected int NumPages;
public Book(string title, string barCode, double price, int numPages)
: base(title, barCode, price)
{
NumPages = numPages;
weight = 1;
}
public override void display()
{
base.display();
Console.WriteLine("Page Numbers:{0}", NumPages);
}
}
我应该两次编写
title
类中存在的barCode
,price
和Goods
吗?我能代替这个吗 public Book(string title, string barCode, double price, int numPages)
: base(title, barCode, price)
具有较少的冗余结构?
最佳答案
不,此代码不是多余的。您必须将值同时传递给Book
构造函数和base
构造函数。
我看到您在weight
构造函数中分配了Book
。如果需要,您也可以对其他Title
,BarCode
和Price
进行相同的操作。然后,您的Goods
构造函数将为空。但这意味着Goods
的每个实现都必须这样做(如果逻辑更多,然后再简单分配,这将是一件坏事)。
关于c# - 抽象类字段冗余C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37938555/