在面向对象这个专题的最后

结合前面多篇文章,用到了面向对象的很多方面知识,做了一个简单的案例:

饭店案例:

package hotel;/**   酒店的员工类*     员工共同特点:姓名,工号,工作方法*/
public class Employee {private String name;private String id;// 注意:实际开发中,需要提供给用户两套构造方法// 一套空参,一套有参public Employee() {}public Employee(String name, String id) {this.name = name;this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}

package hotel;/**   酒店的VIP服务*     厨师和服务员*/
public interface VIP {public abstract void services();
}

package hotel;/**  厨师类*  继承员工类,实现VIP接口*/
public class Chef extends Employee implements VIP {public Chef() {super();}public Chef(String name, String id) {super(name, id);}public void work() {System.out.println("厨师在炒菜");}public void services() {System.out.println("为VIP做精致的菜");}
}

package hotel;/**  服务员类:*   继承员工类,实现VIP接口*/
public class Waiter extends Employee implements VIP {public Waiter() {super();}public Waiter(String name, String id) {super(name, id);}public void work() {System.out.println("服务员在上菜");}public void services() {System.out.println("服务员为VIP特殊服务");}
}

package hotel;/**  定义经理类:*     继承员工类,没有VIP功能*     自己有奖金属性*/
public class Manager extends Employee {public Manager() {super();}public Manager(String name, String id, double money) {super(name, id);this.money = money;}private double money;public void work() {System.out.println("经理在管理酒店");}}

package hotel;import javax.swing.text.ChangedCharSetException;public class Test {public static void main(String[] args) {//创建一个经理,两个服务员,两个厨师Manager m1 = new Manager("张三","经理001",6666.66);m1.work();Waiter w1 = new Waiter("小明", "服务员001");Waiter w2 = new Waiter("小红", "服务员002");w1.work();w1.services();w2.work();w2.services();Chef c1 = new Chef("李四","厨师001");Chef c2 = new Chef("王五","厨师002");c1.work();c1.services();c2.work();c2.services();}
}
/*
输出:
经理在管理酒店
服务员在上菜
服务员为VIP特殊服务
服务员在上菜
服务员为VIP特殊服务
厨师在炒菜
为VIP做精致的菜
厨师在炒菜
为VIP做精致的菜
*/

转载于:https://www.cnblogs.com/xuyiqing/p/8254334.html

Java学习笔记17(面向对象十:综合案例)相关推荐

  1. Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期)

    Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期) 1.模拟高铁售票系统 使用漂亮的表格模块PrettyTable 这个模块需要预先安装,不然直接导入会报错: 安装办法: h ...

  2. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  3. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  4. Java学习笔记(三十五)

    在完成对C语言的学习后,我最近开始了对C++和Java的学习,目前跟着视频学习了一些语法,也跟着敲了一些代码,有了一定的掌握程度.现在将跟着视频做的笔记进行整理.本篇博客是整理Java知识点的第三十五 ...

  5. JAVA学习笔记之面向对象(一)

    作为初入开发的萌新,我根据黑马程序员的教学视频和课件整理总结,记录下自己的JAVA学习,方便巩固和交流.每篇笔记首先回顾知识点,然后贴上代码和执行结果,最后进行小结.若有不正之处或者有疑问,欢迎指出, ...

  6. 前端学习笔记(注册页面综合案例html5)

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. 【Java学习笔记之二十八】深入了解Java8新特性

    前言: Java 8 已经发布很久了,很多报道表明java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...

  8. Java学习笔记17:Java_Set集合_TreeSet集合_二叉树_HashSet集合

    文章目录 1.Set集合 1.1Set集合概述和特点[应用] 1.2Set集合的使用[应用] 2.TreeSet集合 2.1TreeSet集合概述和特点[应用] 2.2TreeSet集合基本使用[应用 ...

  9. 【原】Java学习笔记020 - 面向对象

    1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...

最新文章

  1. UVA1626 括号序列 Brackets sequence(区间DP匹配括号,输出匹配方案)
  2. Python核心模块——urllib模块
  3. ComponentOne Wijmo Editor 在光标处添加文本
  4. 邪恶改装2:用单片机实现一次简单的wifi密码欺骗
  5. webpack入门+react环境配置
  6. 字符输出流写文本文件【Writer、FileWriter 、BufferedReader 】
  7. 【已解决】IDEA 配置tomcat后,javaweb项目报404
  8. Oracle通过邀请Weaver和Chin推动JavaFX向前发展
  9. python线上编辑问题_python django - static文件处理与线上部署测试
  10. 图解 Linux 安装 JDK1.8 、配置环境变量
  11. 正确的 zip 压缩与解压代码
  12. redis setnx原子性_不支持原子性的 Redis 事务也叫事务吗?
  13. python隐式等待_selenium中隐式等待和显示等待的区别
  14. linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍
  15. webview android%3e28,Android WebView 文明踩坑之路
  16. Oracle临时表详解
  17. java applepay_ApplePay对接java后台详细代码
  18. Java8新特性 方法引用(四)
  19. (字符串处理)A-B
  20. php flash 图片上传,php+jquery+ajax无刷新图片上传裁切,模拟flash头像上传实例

热门文章

  1. Android 11 将推出系统试用功能,满意后再正式安装
  2. linux文件字节函数,各位大侠:linux/unix下有什么双字节的字符类型及其一整套处理函数? 高分送出,请帮帮小弟!!!!!!...
  3. python 提取列表元素_Python如何获取列表中元素的索引,python,获得,某个,index
  4. python客户端修改session_Python接口自动化之cookie、session应用
  5. java-io流理解
  6. JSON 和 JS 对象互转
  7. switch php 比大小,PHP 基础:比较、If、Switch
  8. mysql 存储过程 简书_MySQL学习之存储过程
  9. php如何对mysql加锁_PHP+MySQL高并发加锁事务处理问题解决方法
  10. 计算机软件3dmax在展览中的研究,【建模技巧】实用展览设计3ds Max建模方法(第一期)...