第五章

xiaoxiao2021-02-28  38

1.创建打印机类

抽象类:

public abstract class Printer { public abstract void print();

}

子类:(针式打印机)

public class DotMatrixPrinter extends Printer { @Override public void print() { // TODO Auto-generated method stub System.out.println("针式打印机"); }

}

子类(喷墨式打印机):

public class Inkjetprinter extends Printer { @Override public void print() { // TODO Auto-generated method stub System.out.println("喷墨式打印机"); }

}

测试类:

public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Printer p=new DotMatrixPrinter(); Printer p1=new Inkjetprinter(); p.print(); p1.print(); }

}

新增子类(激光打印机):

public class LaserPrinter  extends Printer{ @Override public void print() { // TODO Auto-generated method stub System.out.println("激光打印机"); }

}

修改测试类:

public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Printer p=new DotMatrixPrinter(); Printer p1=new Inkjetprinter(); Printer p2=new LaserPrinter(); p.print(); p1.print(); p2.print(); }

}

请使用多态实现以下需求:牛奔有两个很要好的朋友,一个是来自中国的王小强,喜欢吃四川菜去,喜欢练太极拳;一个是美国的约翰,喜欢吃披萨,打橄榄球。每当朋友来拜访时,都会按照客人的喜欢招待他们

父类:

public abstract class Friend { protected String name; protected String food; protected String play; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFood() { return food; } public void setFood(String food) { this.food = food; } public String getPlay() { return play; } public void setPlay(String play) { this.play = play; } public Friend(String name, String food, String play) { super(); this.name = name; this.food = food; this.play = play; } public abstract void print() ;

}

子类:(中国的朋友)

public class China extends Friend { private String contrie; public String getContrie() { return contrie; } public void setContrie(String contrie) { this.contrie = contrie; } public China(String name, String food, String play, String contrie) { super(name, food, play); this.contrie = contrie; } public void print() { System.out.println("来自"+this.contrie+"的朋友"+super.name+"喜欢吃"+super.food+",打"+super.play); }

}

子类(美国的朋友):

public class America extends Friend { private String contrie; public String getContrie() { return contrie; } public void setContrie(String contrie) { this.contrie = contrie; } public America(String name, String food, String play,String contrie) { super(name, food, play); this.contrie=contrie; // TODO Auto-generated constructor stub } @Override public void print() { System.out.println("来自"+this.contrie+"的朋友"+super.name+"喜欢吃"+super.food+",打"+super.play); }

}

主人类(王小强):

public class Master { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public Master(String name) { super(); this.name = name; } public void print(Friend f) { f.print(); }

}

测试类:

public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); Master m=new Master("牛犇"); Friend ameica=new America("约翰","披萨", "橄榄球", "美国"); Friend china=new China("王小强", "四川菜", "太极拳", "中国"); m.getName(); System.out.println("请输入拜访的朋友:(1.美国朋友 2.中国朋友)"); int typeId=in.nextInt(); if(typeId==1) { System.out.print(m.getName()+"正在招待"); m.print(ameica); }else if(typeId==2) { System.out.print(m.getName()+"正在招待"); m.print(china); }else { System.out.println("你的朋友还在外星,快去请他"); } }}

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

最新回复(0)