1つの変数タイプを除いて、同じクラスに2つのクラスがあります。
次の例は、この問題を示すはずです。プロパティの数が異なる複数のクラスを避ける
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;
}
}
Customer
の評判が255を超えることはありませんので、私はバイトに保存することができます。私のアプリケーションでは、このフィールドは大きな配列です。だから私は可能な限り小さなタイプを選びたいと思っています。しかし、フィールドが1バイトを超えることができるいくつかのケースでは、別のクラスが必要です。
これらの2つのクラスをどのように「マージ」できますか?
は、私はジェネリックを認識していませんでした、あなたの迅速な答えをいただき、ありがとうございます。あなたは非常に親切で、バイト[]対ushort []などの一般的な配列の構文で答えを拡張できますか? – Leander
リファクタリングを追加して、実際に単純化してクリーンアップしました。型を山括弧「」または「」 –
CodingYoshi
に渡してください。ありがとうございます。私は配列を理解した、私はちょうど精神的な経過を持っていた。 – Leander