某国家队有队员(member)数名,包括运动员(player)和教练(coach),其中运动员和教练都有自己的姓名(name)、年龄(age)、身高(height)、体重(weight)属性,都要去参加比赛(competition),但二者不同的是,教练参加比赛是为了指导运动员,而运动员参加比赛是与其他选手PK。且为了出国交流,教练需要学习英语(learnEnglish)。要求利用抽象类、多态和接口实现,并在测试类(Test)中进行测试。
提示:
① 队员(member)是抽象父类,包含姓名(name)、年龄(age)、身高(height)、体重(weight)属性,包含抽象方法(competition),具体实现由子类完成。
② 学习英语(learnEnglish)是接口,包含一个抽象方法。
③ 运动员(player)和教练(coach)是队员(member)的子类,同时教练(coach)需要实现英语(learnEnglish)。
某国家队有队员(member)数名,包括运动员(player)和教练(coach)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- ShowMeAI 2023-01-03 10:50关注
详细代码实现如下,望采纳
public abstract class Member { private String name; private int age; private double height; private double weight; public Member(String name, int age, double height, double weight) { this.name = name; this.age = age; this.height = height; this.weight = weight; } public abstract void competition(); } public interface LearnEnglish { void learnEnglish(); } public class Player extends Member { public Player(String name, int age, double height, double weight) { super(name, age, height, weight); } @Override public void competition() { // PK其他选手 } } public class Coach extends Member implements LearnEnglish { public Coach(String name, int age, double height, double weight) { super(name, age, height, weight); } @Override public void competition() { // 指导运动员 } @Override public void learnEnglish() { // 学习英语 } } public class Test { public static void main(String[] args) { Member player = new Player("张三", 25, 180.0, 80.0); Member coach = new Coach("李四", 35, 175.0, 75.0); player.competition(); coach.competition(); ((Coach) coached).learnEnglish(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助