親クラス (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 に答える