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();
}
}