案例需求:

教练员:

乒乓球教练员,篮球教练员

运动员:

乒乓球运动员,篮球运动员

要求:乒乓球教练员和乒乓球运动员必须要学习必要的英语。

需求分析:

篮球,乒乓球教练员都是教练员,而且教练员不是具体的哪一类,所以是抽象类。

篮球,乒乓球运动员都是运动员,而且运动员不是具体的哪一类,所以也是抽象类。

教练员和运动员都是人,所以需要定义一个抽象父类人类。

由于特定了一些人需要学外语,所以定义一个英语接口功能。

具体实现如下:

接口:

package com.hause.day10;public interface SpeakEnglish {public void speak();}

人类:

package com.hause.day10;public abstract class Person {private String name;private int age;public abstract void eat();public void sleep(){System.out.println("人都要睡觉!");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void show(){System.out.println("姓名:"+name+"年龄:"+age);}}

教练员类:

package com.hause.day10;public abstract class Coach extends Person{public abstract void teach();}

运动员类:

package com.hause.day10;public abstract class Player extends Person {public abstract void study();
}

乒乓教练员类:

package com.hause.day10;public class PingPangCoach extends Coach implements SpeakEnglish{public void speak() {System.out.println("乒乓球教练交运动员打乒乓球的同时还要学习英语!");}public void teach() {System.out.println("乒乓球教练交运动员打乒乓球!");}public void eat() {System.out.println("乒乓球教练吃乒乓球教练的饭!");}}

篮球教练员类:

package com.hause.day10;public class BasketCoach extends Coach {public void teach() {System.out.println("篮球教练教授运动员打篮球!");}public void eat() {System.out.println("篮球教练吃篮球教练的饭!");}
}

乒乓运动员类:

package com.hause.day10;public class PingPang extends Player implements SpeakEnglish {public void study() {System.out.println("乒乓球运动员学习打乒乓球!");}public void eat() {System.out.println("乒乓球运动员吃乒乓球的饭!");}public void speak() {System.out.println("乒乓球运动员学习打乒乓球时候还要学习英语!");}}

篮球运动员类:

package com.hause.day10;public class Basketball extends Player{public void study() {System.out.println("篮球球运动员学习打篮球球!");}public void eat() {System.out.println("篮球球运动员吃篮球球的饭!");}}

测试类:

package com.hause.day10;
/**具体类调用 * */
public class Main {public static void main(String[] args) {//创建乒乓球与动员对象PingPang pp = new PingPang();pp.setName("李春男");pp.setAge(25);pp.show();pp.eat();pp.study();pp.sleep();pp.speak();System.out.println("************************");//创建乒乓球教练对象PingPangCoach ppp = new PingPangCoach();ppp.setName("河南科技大学");ppp.setAge(26);ppp.show();ppp.eat();ppp.teach();ppp.sleep();ppp.speak();System.out.println("******************************************");//创建篮球运动员对象Basketball bb = new Basketball();bb.setName("杨莉");bb.setAge(22);bb.show();bb.study();bb.eat();bb.sleep();System.out.println("******************************************");//创建篮球教练对象BasketCoach bc = new BasketCoach();bc.setName("杨莉");bc.setAge(22);bc.show();bc.teach();bc.eat();bc.sleep();}}

输出:

姓名:李春男年龄:25
乒乓球运动员吃乒乓球的饭!
乒乓球运动员学习打乒乓球!
人都要睡觉!
乒乓球运动员学习打乒乓球时候还要学习英语!
************************
姓名:河南科技大学年龄:26
乒乓球教练吃乒乓球教练的饭!
乒乓球教练交运动员打乒乓球!
人都要睡觉!
乒乓球教练交运动员打乒乓球的同时还要学习英语!
******************************************
姓名:杨莉年龄:22
篮球球运动员学习打篮球球!
篮球球运动员吃篮球球的饭!
人都要睡觉!
******************************************
姓名:杨莉年龄:22
篮球教练教授运动员打篮球!
篮球教练吃篮球教练的饭!
人都要睡觉!

java-接口之运动员教练员综合案例相关推荐

  1. Java11-day02【多态(成员访问、多态转型、内存图解)、抽象类(成员特点)、接口(成员特点)、类和接口的关系、抽象类和接口的区别、综合案例】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  2. 【Java】抽象类继承的综合案例

    文章目录 2.1 综合案例:群主发普通红包 1. 抽象类 1.1 概述 由来 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同.那么父类的方法声明和方法主 体,只有声明还有 意义,而方法主体则 ...

  3. Java接口实现多态 -- 笔记本电脑综合实例

    前言 在开始分享之前,请大家思考三个问题 . 1,什么是多态? 2,多态有几种实现方式(除了接口还有什么可以实现多态,答案不唯一.) 3,多态的好处 答案:大家可以把自己的见解分享到下面评论里 下面以 ...

  4. 第九课 Java基础篇——面向对象(综合案例)

    1.文字版格斗游戏 格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(〈new对象的时候),这些信息就应该被确定下来. Role.Java package cn.nwafu;import ...

  5. Java基础加强重温_05:Iterator迭代器、增强for循环、集合综合案例-斗地主、数据结构(栈、队列、数组、链表、红黑树)、List接口、Set接口

    摘要: Java基础加强重温_05: Iterator迭代器(指针跟踪元素). 增强for循环(格式.底层). 集合综合案例-斗地主(代码规范抽取代码,集合元素打乱). 数据结构[栈(先进后出,子弹夹 ...

  6. Java集合之Collection集合、泛型 【集合综合案例:赌神、赌侠、赌神斗地主】

    第一章. Collection集合 1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. ...

  7. JAVA WEB DAY 16_ 综合案例-联系人管理系统

    文章目录 综合案例-联系人管理系统 01-案例演示和功能说明-[★★] 02-项目环境搭建和数据准备-[★★★] 项目结构 准备数据表 主配置文件 sqlMapConfig.xml 03-创建工具类- ...

  8. java day52【综合案例day04】

    由java day51[综合案例day03] 14. 旅游线路收藏功能 14.1 分析 14.1.1   判断当前登录用户是否收藏过该线路 当页面加载完成后,发送ajax请求,获取用户是否收藏的标记 ...

  9. java day51【综合案例day03】

    由java day50[综合案例day02] 12.旅游线路名称查询 12.1    查询参数的传递 在header.html中 $("#search-button").click ...

最新文章

  1. 关于Python中的yield(转载)
  2. 何恺明最新一作论文:无监督胜有监督,迁移学习无压力,刷新7项检测分割任务...
  3. nginx进程管理之worker进程
  4. 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库
  5. 侧信道攻击,从喊666到入门之——Unicorn的环境构建
  6. 苹果Mac定制化App开发神器:FileMaker Pro
  7. 1t硬盘怎么分区最好_还在用128G Macbook?699元升级1T英睿达SSD
  8. 用MSDN下载镜像(以Windows11为例)
  9. 牛学长苹果数据管理工具
  10. 网易云游戏王者荣耀服务器无响应,玩王者荣耀为什么不能听网易云,王者荣耀与网易云无法同时发声...
  11. laravel 使用队列进行微信模板消息的群发
  12. 重装Win10系统有教程吗?如何在线一键重装Win10系统?
  13. listen监听队列刨析
  14. 每日一题——LeetCode977(有序数组的平方)二种方法
  15. mac 系统下android源码下载以及使用(总结)
  16. android 通讯录 编程,以编程方式批量添加数千个Android联系人
  17. 客户案例|低代码上的西门子,乘风破浪的财务部
  18. SPC Control Chart Tools for JavaScript/TypeScript
  19. Nginx X-Forwarded-For 和 $proxy_add_x_forwarded_for 的意思
  20. python视频转换字符动画_视频转字符动画-Python-60行代码

热门文章

  1. 支持OneNote for Window10代码高亮工具
  2. 共享内存的创建和映射shmget()和shmat()
  3. 数据处理-21.数据分析常用流程
  4. Informatica Big Data Management 运维命令
  5. 附录3:实验结果与简单分析
  6. 复习记忆PE导入导出表
  7. Python 怎么利用Python绘制二元高次隐函数的函数图像及其极值点——以某双核论文模型方程为例
  8. PHP 如何安装ionCube扩展
  9. 瞪羚优化算法Gazelle optimization algorithm附matlab代码
  10. css盒子模型有几种?以及盒模型设置?