У меня есть базовый аннотация Goods
класс и унаследованный Book
класс.Абстрактные поля классов избыточности C#
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)
с менее избыточной конструкцией?
Просто примечание. У вас есть ** поля **, а не ** свойства **. Свойства должны иметь 'get' и/или' set'. –
Пожалуйста, используйте 'decimal' (или integers) вместо' double' для представления цен. – CodesInChaos
Я бы подумал о замене абстрактного класса на интерфейс. – CodesInChaos