Java面向对象之多态实例2

  

  转载于:      http://www.verejava.com/?id=16992846385655      ,   

  <前>/* *   题目:孩子吃,水果(苹果、葡萄,芒果,菠萝)   思路:   1只抽象出类,:,孩子(婴儿),水果(水果)(苹果(苹果),葡萄(葡萄),芒果(芒果))   2只找出类的关系:,水果,→,孩子,,,(苹果、葡萄,芒果),是,水果的分类   3只找出属性:孩子(姓,名水果引用),,   4只找出方法:孩子吃(吃)水果   子类→父类的转换,作用,:解耦,也就是降低类与类之间的耦合度,提供可扩展性   */public  class  Polymorphism3  {   public  static  void  main (String [], args),{//实例化一个婴儿   Baby  Baby =, new 婴儿(“李明“);//实例化一个苹果,和,一个葡萄   Apple  Apple =, new 苹果(“红富士“);   Grape  Grape =, new 葡萄(“黑葡萄“);   Mango  Mango =, new 芒果(“大芒果“);   PineApple  PineApple =, new 菠萝(“菠萝“);//李明吃苹果   baby.eat(苹果);   System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ());   baby.eat(葡萄);   System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ());   baby.eat(芒果);   System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ());   baby.eat(菠萝);   System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ());   }   }class  Baby  {private  Fruit 水果;private  String 名称;public 婴儿(String 名称),{this.name =,名称;   }public  String  getName (), {return  this.name;   }public  Fruit  getFruit (), {return  this.fruit;   }//吃水果   public  void 吃(Fruit 水果),{this.fruit =,水果;   }   }class  Fruit  {   private  String 名称;public 水果(String 名称),{this.name =,名称;   }public  String  getName (), {return  this.name;   }   }class  PineApple  extends  Fruit  {   public 菠萝(String 名称),{超级(名称);   }   }class  Apple  extends  Fruit  {   public 苹果(String 名称),{超级(名称);   }   }class  Grape  extends  Fruit  {   public 葡萄(String 名称),{超级(名称);   }   }class  Mango  extends  Fruit  {   public 芒果(String 名称),{超级(名称);   }   }   之前   

  转载于:      http://www.verejava.com/?id=16992846385655      ,   

Java面向对象之多态实例2