课程5.6之面向对象应用


转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


本节课程将学习以下内容:

  • 被客户不断变化的需求所“折磨”;
  • 客户第1次需求:我有一台惠普打印机,开发一个打印机控制程序,要能够实现开机、关机和打印功能;
  • 客户第2次需求:我的办公室加了一台新的佳能打印机,把你的程序修改一下;
  • 客户第3次需求:我的办公室又又加了一台新的清华同方打印机!(自己实现)

1.新建一个名为Printer.java的Java源文件:

class Printer{
  void open(){
    System.out.println("Open");
  }
  void close(){
    System.out.println("Close");
  }
  void print(String s){
    System.out.println("print--->" + s);
  }
}

2.新建一个名为HpPrinter.java的Java源文件:

class HpPrinter extends Printer{
}

3.新建一个名为CanonPrinter.java的Java源文件:

class CanonPrinter extends Printer{
  void close(){
    this.clean();
    super.close();
  }
  void clean(){
      System.out.println("clean");
  }
}

4.新建一个名为Demo.java的Java源文件:

class Demo{
  public static void main(String[] args) {
    // 用来判断选择惠普打印机还是佳能打印机
    // 0代表惠普,1代表佳能
    int flag = 0;
    if(flag == 0){
      HpPrinter hpPrinter = new HpPrinter();
      hpPrinter.open();
      hpPrinter.print("锄禾日当午");
      hpPrinter.close();
    } else if (flag == 1) {
      CanonPrinter canonPrinter = new CanonPrinter();
      canonPrinter.open();
      canonPrinter.print("汗滴禾下土");
      canonPrinter.close();
    }
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,839评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,142评论 18 399
  • 早上赶46路车的时候天还没亮,站牌下等车的大多是上班族和学生。不管你觉得自己起的有多早,总会有人比你更早的起来。...
    顾影之莲阅读 2,707评论 0 0
  • 如题,我做了个实验。 一个文件包只有69.8M但是速度是233KB/秒,明显的非常慢。另一个文件包176M,速度竟...
    清水芦苇阅读 4,866评论 0 0