PrinterDemo

来源:互联网 发布:删除淘宝评价怎么删 编辑:程序博客网 时间:2024/06/06 20:29

学校中心配备一台打印机(可以是黑白打印机,也可以是彩色打印机)。中心可以通过打印机打印学员的个人信息(张三和李四等)。通过继承和多态来设计这个程序,使程序具有更好的扩展性和维护性。

package com.yangyali.day719;/* *学校中心配备一台打印机(可以是黑白打印机,也可以是彩色打印机)。中心可以通过打印机打印学员的个人信息(张三和李四等)。通过继承和多态来设计这个程序,使程序具有更好的扩展性和维护性。 */public class PrinterDemo{    public static void main(String [] args){        ColorPrinter cp=new ColorPrinter("惠普");        School school=new School();        school.setPrinter(cp);//学校安装彩色打印机        Student student1=new Student("张三",20);        school.print(student1.detail());        }} class Printer{    private String brand;    public Printer(String brand){        this.brand=brand;    }    public String getBrand(){        return brand;    }    //打印的方法应该由其子类来具体的实现.    public void print(String content){    }}class School {    private Printer p=null;//安装打印机 用父类的引用变量   public  void setPrinter(Printer p){        this.p=p;    }    //多态.程序设计的时候主体框架使用接口或抽象类,使程序有很好的扩展性和维护性    public void print(String content){        //交给中心所安装打印机来打印        p.print(content);    }}/**三个子类*/class ColorPrinter extends Printer{    public ColorPrinter(String brand){        super(brand);    }    //对父类的方法进行重写    public void print(String content){        System.out.println(getBrand()+"彩色打印:"+content);    }}class BlackPrinter extends Printer{    public BlackPrinter(String brand){        super(brand);    }    //对父类的方法进行重写    public void print(String content){        System.out.println(getBrand()+"黑白打印:"+content);    }}class ZhenPrinter extends Printer{    public ZhenPrinter(String brand){        super(brand);    }    //对父类的方法进行重写    public void print(String content){        System.out.println(getBrand()+"针式打印:"+content);    }}class Student {    private String name;    private int age;    public Student(String name,int age){        this.name=name;        this.age=age;    }    public String detail(){        return "你好,我的名字叫:"+name+",今年:"+age+"岁";    }}
0 0
原创粉丝点击