継承を使用して、変更に対してよりクリーンで柔軟にすることができます。その後、複数のプロジェクトでも、同じ汎用基本クラスを拡張できます。
基本クラス (またはインターフェイス) (たとえば Bullet.as) から開始し、すべての箇条書きに共通するすべての機能とプロパティをそのクラスに配置します。同じプロパティを共有する弾丸のグループがあるときはいつでも、サブクラスを作り続けてください。したがって、接触するとすべて爆発する複数の種類の弾丸がある場合は、次のような設定を行うことができます。
public class Bullet {
public function fire():void {};
public property size:int;
public property strength:Number;
public property label:String;
public property maxDistance:Number;
}
public class ExplodingBullet extends Bullet {
public property blastRadius:Number;
public function explode():void {
trace("Kaboom");
}
}
public class BazookaBullet extends ExplodingBullet {
public function BazookaBullet():void {
blastRadius = 10;
label = "Bazooka";
size = 5;
maxDistance = 120;
}
}
これにより、バズーカ弾に、それが拡張するクラスのすべての機能が与えられます。すべての Bullet クラスで同じプロパティとメソッドをすべて再作成するのとは対照的に、このようにすることには非常に多くの利点があります。