Ho base astratta Goods
classe e classe Book
ereditata.Ridondanza dei campi di classe astratta 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);
}
}
Dovrei scrivere title
, barCode
, price
che esiste nella classe Goods
due volte? Posso sostituire questo
public Book(string title, string barCode, double price, int numPages)
: base(title, barCode, price)
con una costruzione meno ridondante?
Solo una nota. Hai ** campi ** e non ** proprietà **. Le proprietà dovrebbero avere 'get' e/o' set'. –
Utilizzare 'decimal' (o numeri interi) anziché' double' per rappresentare i prezzi. – CodesInChaos
Vorrei prendere in considerazione la sostituzione della classe astratta con un'interfaccia. – CodesInChaos