Java学习笔记17(面向对象十:综合案例)
在面向对象这个专题的最后
结合前面多篇文章,用到了面向对象的很多方面知识,做了一个简单的案例:
饭店案例:
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(面向对象十:综合案例)相关推荐
- Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期)
Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期) 1.模拟高铁售票系统 使用漂亮的表格模块PrettyTable 这个模块需要预先安装,不然直接导入会报错: 安装办法: h ...
- 【Java学习笔记之二十六】深入理解Java匿名内部类
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
- java学习笔记(二十八)——开发一个小项目(VMeeting3.0)
上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...
- Java学习笔记(三十五)
在完成对C语言的学习后,我最近开始了对C++和Java的学习,目前跟着视频学习了一些语法,也跟着敲了一些代码,有了一定的掌握程度.现在将跟着视频做的笔记进行整理.本篇博客是整理Java知识点的第三十五 ...
- JAVA学习笔记之面向对象(一)
作为初入开发的萌新,我根据黑马程序员的教学视频和课件整理总结,记录下自己的JAVA学习,方便巩固和交流.每篇笔记首先回顾知识点,然后贴上代码和执行结果,最后进行小结.若有不正之处或者有疑问,欢迎指出, ...
- 前端学习笔记(注册页面综合案例html5)
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 【Java学习笔记之二十八】深入了解Java8新特性
前言: Java 8 已经发布很久了,很多报道表明java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...
- Java学习笔记17:Java_Set集合_TreeSet集合_二叉树_HashSet集合
文章目录 1.Set集合 1.1Set集合概述和特点[应用] 1.2Set集合的使用[应用] 2.TreeSet集合 2.1TreeSet集合概述和特点[应用] 2.2TreeSet集合基本使用[应用 ...
- 【原】Java学习笔记020 - 面向对象
1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...
最新文章
- UVA1626 括号序列 Brackets sequence(区间DP匹配括号,输出匹配方案)
- Python核心模块——urllib模块
- ComponentOne Wijmo Editor 在光标处添加文本
- 邪恶改装2:用单片机实现一次简单的wifi密码欺骗
- webpack入门+react环境配置
- 字符输出流写文本文件【Writer、FileWriter 、BufferedReader 】
- 【已解决】IDEA 配置tomcat后,javaweb项目报404
- Oracle通过邀请Weaver和Chin推动JavaFX向前发展
- python线上编辑问题_python django - static文件处理与线上部署测试
- 图解 Linux 安装 JDK1.8 、配置环境变量
- 正确的 zip 压缩与解压代码
- redis setnx原子性_不支持原子性的 Redis 事务也叫事务吗?
- python隐式等待_selenium中隐式等待和显示等待的区别
- linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍
- webview android%3e28,Android WebView 文明踩坑之路
- Oracle临时表详解
- java applepay_ApplePay对接java后台详细代码
- Java8新特性 方法引用(四)
- (字符串处理)A-B
- php flash 图片上传,php+jquery+ajax无刷新图片上传裁切,模拟flash头像上传实例
热门文章
- Android 11 将推出系统试用功能,满意后再正式安装
- linux文件字节函数,各位大侠:linux/unix下有什么双字节的字符类型及其一整套处理函数? 高分送出,请帮帮小弟!!!!!!...
- python 提取列表元素_Python如何获取列表中元素的索引,python,获得,某个,index
- python客户端修改session_Python接口自动化之cookie、session应用
- java-io流理解
- JSON 和 JS 对象互转
- switch php 比大小,PHP 基础:比较、If、Switch
- mysql 存储过程 简书_MySQL学习之存储过程
- php如何对mysql加锁_PHP+MySQL高并发加锁事务处理问题解决方法
- 计算机软件3dmax在展览中的研究,【建模技巧】实用展览设计3ds Max建模方法(第一期)...