親クラス (Plate) といくつかの子クラス (WoodenPlate、PorcelainPlate など) をプログラムする必要があります。それぞれの子オブジェクトには、1 から始まるシリアル番号、次に 2 などのシリアル番号が必要です。この情報はどこに保存すればよいですか? 親オブジェクトのカウンターをインクリメントすることはできますか?
質問する
4637 次
1 に答える
2
これは、Child
クラスの 1 つがどのように見えるかです。
class WoodenPlate extends Plate {
private static int counter = 0;
private int serialNumber;
public WoodenPlate() {
serialNumber = ++counter;
}
}
そして、 の各インスタンスに対して、パブリック アクセサーを使用してWoodenPlate
アクセスできます。serialNumber
このように残りのChild
クラスを定義できます。それぞれにstatic
カウンターとserialNumber
フィールドがあります。
1
カウントをfro everyから開始するChild
のではなく、どの Child クラスがインスタンス化されたかに関係なく、カウントを前のクラスから継続したい場合は、Parent
クラスにこれらのフィールドが必要です。
class Parent {
protected static int counter = 0;
protected int count;
public int getCount() {
return count;
}
}
Child
次に、各クラスからフィールドを削除します。
于 2013-02-18T19:03:25.337 に答える