は、あなたが銃を表すクラスと弾を表すクラスを持つと言うことができます。 クラスを拡張するクラスは、独自の拡張された箇条書きクラスを持ち、銃のスーパークラスはそれらの配列を処理できます。私は2つの銃の拡張クラスを持っている。この例では 拡張クラスはそのスーパー関数に特定のクラスを使用するように指示できます
は、それぞれがpsudoを(コードの重複の束を避けるために)弾丸の拡張クラスの異なるタイプを使用しますが、スーパーアレイに追加を処理したいです:
class Gun{
ArrayList<Bullet> bullets;
Gun(x,y,z){
}
void shoot(){
//add bullet to bullets array
}
}
class CustomGun extends Gun{
CustomGun(x,y,z){
//do stuff
}
//want super.shoot() to add CustomBullet to bullets array
}
class CustomGunTwo extends Gun{
CustomGunTwo(x,y,z){
//do stuff
}
//want super.shoot() to add CustomBulletTwo to bullets array
}
class Bullet{
Bullet(x,y,z){
//do stuff
}
}
class CustomBullet extends Bullet{
CustomBullet(x,y,z){
super(x, y, z)
}
}
class CustomBulletTwo extends Bullet{
CustomBullet(x,y,z){
super(x, y, z)
}
}
編集ありがとうございます@Jens – WookooUK
あなたは歓迎です – Jens