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
- PrinterDemo
- Adnroid Retrifit2.0 多图片上传 服务端Java
- 百度地图api的SHA1
- 监督学习应用.正规方程组
- IP数据报的分片和组装过程
- centos安装python mvc框架django1.9
- PrinterDemo
- Codeforces 155B Combination
- 面试题总结-Java基础
- PopupWindow注意事项
- mac jdk8 maven 出现Exception in thread "main" java.lang.UnsupportedClassVersionError:
- java线程
- CatDemo
- C - 又见GCD
- CentOS安装MySQL