初めて質問をします。
よろしくお願いします。
現在、オブジェクト指向について、実際にツールを作成しながら
クラス設計の勉強をしているのですが、
下記のような形で詰まっています。
コメント部分をどのように処理させたらいいのか、
困っています。
###ソースコード
java
1import java.util.*; 2public class Main { 3 public static void main(String[] args) throws Exception { 4 5List<SuperClass> scList = new ArrayList<>(); 6 7scList.add(new A()); 8scList.add(new A()); 9scList.add(new B()); 10scList.add(new B()); 11 12// ****************************************** 13// scList.Act のように BのインスタンスのみにActを実行させたい 14// ****************************************** 15 16 } 17} 18 19class SuperClass{ 20 21} 22 23interface IAct{ 24 abstract public void Act(); 25} 26 27class A extends SuperClass { 28 29} 30 31 32class B extends SuperClass implements IAct{ 33 public void Act(){} 34}
考えたのは、
1.SuperClassにActメソッドを移して、何もしないAct()をAに定義してinterfaceを排除する。
2.instanceof等を利用して、B型か調べて処理させる。
ですが、あまりスマートではないと感じます。
他に何か良い方法はありませんでしょうか。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/07/12 13:24