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 ...