从java的技术角度分析以下场景或用具体代码实现,在西游记中,小白龙是个人,而唐僧需要一匹马,如何让唐僧相信小白龙是一匹马而不是人!

解决方案 »

  1.   

    额  
    总结一下人的特性和马的特性封装成一两个类
    new对象后看看特性值吧?
    这个 额
      

  2.   

    写一个马的实体类,用instanceof方法  小白龙instanceof马  这样可以得出小白龙和马这个类的关系
    不知道 我考虑的是不是正确
      

  3.   

    简单写下吧
    public interface BuildObject {
       public void Build();
    }
    public class Horse implements BuildObject {
       private Color color;
       //马的特征属性
       ...
       public void Build() {
          System.out.println("变成马");
       }
    }
    public class Person implements BuildObject {
       private Color color;
       //人的特征属性
       ...
       public void Build() {
          System.out.println("变成人");
       }}
    public class XiaoBaiLong extends Person {
       public void change(BuildObject obj) {
          obj.Build();
       }
       public void Build() {
          System.out.println("在西游记中,小白龙是个人");
       }
    }
    public class TangSeng {
       private XiaoBaiLong xiaobailong;
       public TangSeng() {}
       //唐僧需求
       public void need() {
          //唐僧需要小白龙变成马
           BuildObject obj = new Horse();
          xiaobailong.change(obj);
          //唐僧需要小白龙变成人
           BuildObject obj = new Person();
          xiaobailong.change(obj);
          //唐僧突然又想小白龙变成妖怪呢,只需新建一个继承BuildObject的类,比如Dragon,
           BuildObject obj = new Dragon();
          xiaobailong.change(obj);
       }   ....
    }
      

  4.   

    写一个马的实体类,用instanceof判断一下!