私は基本抽象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
、二回Goods
クラスに存在しprice
?これを置き換えることはできますか
public Book(string title, string barCode, double price, int numPages)
: base(title, barCode, price)
ちょうどメモ。 **フィールド**を持っていて、**プロパティ**はありません。プロパティには 'get'や' set'が必要です。 –
価格を表すには 'double'の代わりに' decimal'(または整数)を使用してください。 – CodesInChaos
抽象クラスをインタフェースで置き換えることを検討したいと思います。 – CodesInChaos