我在數據庫中有一個「包」表。這對這種情況是有道理的 - class vs interface vs abstract?
A包裝可以是三種類型:包裝A,包裝B和C.包
所有三個包有一些共同的字段,如
1)名稱
2)大小
3)重量
現在來到獨特的領域:
套餐A & B必須包含 -
一)通道
套餐C必須包含 -
一)完成
所以,我創建了一個數據庫稱爲「包」表。 「包」 的
列然後將是:
1)ID
2)類型(1 =程序包A,2 = PackageB,3 = PackageC)
3)名稱
4)尺寸
5)重量
6)信道(不需要包C)
6)完成(不需要套餐A & B)
所以,我創建抽象類像下面(忽略的屬性的數據類型):
public abstract class Package
{
public id;
public type;
public name;
public size;
public weight;
}
public class PackageA : Package
{
public channel;
}
public class PackageB : Package
{
public channel;
}
public class PackageC : Package
{
public completion;
}
我該怎麼做這種做法的錯誤? Package類應該是抽象類還是簡單類?
由於我不想讓其他人直接在Package類上工作,而是採用Package A,B,C。
編輯:數據庫部分呢? 「通道」(對於包A & B需要)(不需要包C)和「完成」(包C需要)(包A & B不需要)具有「通道」的字段/列「何時不需要/用於特定的包裝類型?
你的做法是蠻好 – tony