我在数据库中有一个“包”表。这对这种情况是有道理的 - 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