【发布时间】:2017-02-05 19:36:10
【问题描述】:
我有两个接近相同的类,除了一个变量类型。
下面的例子应该说明这个问题。
class Customer
{
byte Reputation;
const byte MaximumReputation = 255;
int Data;
string MoreData;
Briefcase EvenMoreData;
public Customer(byte reputation, int data, string moreData, Briefcase evenMoreData)
{
Reputation = reputation;
Data = data;
MoreData = moreData;
EvenMoreData = evenMoreData;
}
public float Level()
{
return Reputation / MaximumReputation;
}
public string Information()
{
return Data.ToString() + ", " + MoreData + EvenMoreData.Id;
}
}
class CustomerDeluxe
{
ushort Reputation;
const byte MaximumReputation = 255;
int Data;
string MoreData;
Briefcase EvenMoreData;
public CustomerDeluxe(ushort reputation, int data, string moreData, Briefcase evenMoreData)
{
Reputation = reputation;
Data = data;
MoreData = moreData;
EvenMoreData = evenMoreData;
}
public float Level()
{
return Reputation / MaximumReputation;
}
public string Information()
{
return Data.ToString() + ", " + MoreData + EvenMoreData.Id;
}
}
由于Customers 的声望不会超过 255,我可以存储在一个字节中。在我的应用程序中,这个字段是一个大数组。这就是为什么我想选择尽可能小的类型。但是对于字段可以超过一个字节的少数情况,必须有另一个类。
如何“合并”这两个类?
【问题讨论】:
标签: c# winforms class inheritance