Javaのポリモーフィズムの理解-StackOverflowから取得
Understanding Polymorphism Java Taken From Stackoverflow
ポリモーフィズムを表現する最も明確な方法は、抽象基本クラス(またはインターフェース)を使用することです。
public abstract class Human{ ... public abstract void goPee() }
goPee()
であるため、このクラスは抽象的です。メソッドは人間には定義できません。これは、サブクラスの男性と女性に対してのみ定義できます。また、人間は抽象的な概念です—男性でも女性でもない人間を作成することはできません。それはどちらかでなければなりません。
したがって、抽象クラスを使用して実装を延期します。
public class Male extends Human{ ... @Override public void goPee(){ System.out.println('Stand Up') } }
そして
public class Female extends Human{ ... @Override public void goPee(){ System.out.println('Sit Down') } }
これで、人間でいっぱいの部屋全体におしっこをするように指示できます。
public static void main(String[] args){ ArrayList<Human> group = new ArrayList<Human>() group.add(new Male()) group.add(new Female()) // ... add more... // tell the class to take a pee break for (Human person : group) person.goPee() }
これを実行すると、次のようになります。
Stand Up Sit Down ...