第5章多态

xiaoxiao2021-02-28  51

package com.bdqn.thethirdchapter; /**  * 第4章多态 第5题编码创造一个打印机类Printer,定义抽象方法Print(),创建两个子类,即针式打印机类DotMatrixPrinter  * 和喷墨打印机类lnkpetPrinter,并仔各自类中重写方法print(),编写测试类实现两种打印机打印,再添加一个激光打印机子类LaserPrinter  * ,重写方法print(),修改测试类实现该打印机打印。  * 父类:打印机  */ public abstract class Printer {  private String Printer; //打印机    public String getPrinter() {   return Printer;  }  public void setPrinter(String printer) {   Printer = printer;  }  public Printer(String printer) {   this.Printer=printer;  }  //抽象打印机方法  public abstract void Printer();

} package com.bdqn.thethirdchapter; /**  *  * 子类:针式打印机  */ public class DotMatrixPrinter extends Printer {  private String type ; //针式  public String getType() {   return type;  }  public void setType(String type) {   this.type = type;  }  public DotMatrixPrinter(String Printer,String type) {   super(Printer);   this.type=type;     }  /**   * @Override   */  public void Printer() {   System.out.println("我是:"+this.type+","+this.getPrinter());     } }

package com.bdqn.thethirdchapter; /**  *  * 子类:喷墨打印机  */ public class InkpetPrinter extends Printer {  private String inkjet; // 喷墨打印机  public String getInkjet() {   return inkjet;  }  public void setInkjet(String inkjet) {   this.inkjet = inkjet;  }  public InkpetPrinter(String Printer,String inkjet) {   super(Printer);   this.inkjet=inkjet;  }

 public void Printer() {    System.out.println("我是:"+this.inkjet+","+this.getPrinter());  } } package com.bdqn.thethirdchapter; /**  *  * 子类:激光打印机  */ public class LaserPrinter extends Printer{  private String laser; //激光打印机  public String getLaser() {   return laser;  }  public void setLaser(String laser) {   this.laser = laser;  }  public LaserPrinter(String Printer,String laser) {   super(Printer);   this.laser=laser;  }  public void Printer() {   System.out.println("我是:"+this.laser+","+this.getPrinter()); } } package com.bdqn.thethirdchapter; public class Test {  public static void main(String[] args) {   Printer dp = new DotMatrixPrinter("打印机", "针式");   dp.Printer();   System.out.println("");   Printer ip= new InkpetPrinter("打印机", "喷墨");   ip.Printer();   System.out.println("");   Printer lp= new LaserPrinter("打印机", "激光");   lp.Printer();  } } package com.bdqn.thefifthchapter; /**  * 第5章多态 第6题请使用多态实现以下需求:牛犇有两个好的朋友,一个是中国的王小强,喜欢吃四川菜,练太极拳,  * 另一个是美国的约翰,喜欢吃披萨,打橄榄球。每当朋友来拜访牛犇是,牛犇都会按各人的喜好招待他们。  * 父类:朋友类  */ public abstract class Friend {  private String region; //地区  public String getRegion() {   return region;  }  public void setRegion(String region) {   this.region = region;  }    /**   *   * @param region 地区   */  public Friend(String region) {   this.region=region;  }    public abstract void show();   } package com.bdqn.thefifthchapter; /**  *  * 子类:王小强  */ public class WangXiaoqiang extends Friend{  private String name; //姓名  String cuisine ="四川菜";  String boxing  ="太极拳";    public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }  /**   *   * @param region 地区   * @param name 姓名   */  public WangXiaoqiang(String region,String name) {   super(region);   this.name=name;  }    public void show() {   System.out.println(this.getRegion()+"的"+this.name+"喜欢吃"+this.cuisine+"练"+this.boxing);  } } package com.bdqn.thefifthchapter; /**  *  *子类:约翰  */ public class John extends Friend {  private String name; //姓名  String pizza ="披萨";  String rugby ="橄榄球";  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }  /**   *   * @param region 地区   * @param name 姓名   */  public John(String region,String name) {   super(region);   this.name=name;  }    public void show() {   System.out.println(this.getRegion()+"的"+this.name+"喜欢吃"+this.pizza+"打"+this.rugby);  } } package com.bdqn.thefifthchapter; /**  *  * 主人类:牛犇  */ public class Cattle {  public void feed(Friend friend) {   friend.show();  }  public Friend  Choice(int typeid) {   Friend friend=null;   if (typeid==1) {    friend=new WangXiaoqiang("中国", "王小强");   }else if (typeid==2) {    friend=new John("美国", "约翰");   }else {    System.out.println("输出错误");   }   return friend;     } } package com.bdqn.thefifthchapter; import java.util.Scanner; /**  *  * 测试类  */ public class Test {  public static void main(String[] args) {   System.out.println("今天要招待的朋友:(1中国的王小强2美国的约翰)");   Scanner input = new Scanner(System.in);   int zd = input.nextInt();   Cattle cattle =new Cattle();   Friend friend =cattle.Choice(zd);   friend.show();  } }

转载请注明原文地址: https://www.6miu.com/read-2628542.html

最新回复(0)