能否利用面向对象的多态的概念,做一个模拟两个小朋友说话的简单程序:男同学说“Hello”,女同学说“World”。(也就是,输出 “Boy, to say: Hello")。主程序请简单依次生成对象,放进一个数据结构,然后简单循环完成行为;设计的重点应该放在类之间的关系和不同类的知识的分配。我们只是要求简单指示,文本输出;请不要在通讯细节或者对话回合上复杂化了。也不需要Proxy,InvocationHandler,Reflection 等手法。
调试欢乐多
public class ChildTest {
static abstract class Child{
public abstract void say();
}
static class Boy extends Child{
public void say(){
System.out.println("Boy, to say:hello");
}
}
static class Girl extends Child{
public void say(){
System.out.println("Girl, to say:world");
}
}
public static void main(String[] args) throws Exception {
List<Child> children = new ArrayList<Child>();
children.add(new Boy());
children.add(new Girl());
for(Child c : children){
c.say();
}
}
}