185-186 抽象类+接口案例/运动员和教练

需求:有乒乓球运动员、篮球运动员、乒乓球教练、篮球教练。签了出过交流,乒乓球教练、乒乓球运动员需要学习英语。请用所学知识分析,这个案例中有哪些具体类、哪些抽象类、哪些接口,并用代码实现

分析:从具体到抽象的分析步骤。具体的是:乒乓球运动员、篮球运动员、乒乓球教练、篮球教练,抽象的是:运动员、教练,更抽象的是:人。共性:学习英语。

思路

1,定义说英语接口

成员方法-说英语

2,定义抽象人类

成员变量-姓名、年龄

构造方法-无参、带参

成员方法-getter、setter、吃饭

3,定义抽象教练类

继承人类

构造方法-无参、带参

成员方法-教育

4,定义抽象运动员类

继承人类

构造方法-无参、带参

成员方法-学习

5,定义具体篮球教练类

继承人类

构造方法-无参、带参

重写方法-吃饭、教育

6,定义具体乒乓球教练类

继承人类

构造方法-无参、带参

重写方法-吃饭、教育、说英语

7,定义具体篮球运动员类

继承人类

构造方法-无参、带参

重写方法-吃饭、学习

8,定义具体乒乓球运动员类

继承人类

构造方法-无参、带参

重写方法-吃饭、学习、说英语

9,定义测试类

main方法、创建具体类对象、调用变量and方法

package itheima05E186;

public class PersonDemo {

public static void main(String[] args) {

PingpangCoach pc = new PingpangCoach();

pc.setName("乒乓球教练王浩");

pc.setAge(37);

System.out.println(pc.getName()+","+pc.getAge());

pc.eat();

pc.teach();

pc.speakEnglish();

System.out.println("--------");

PingpangPlayer pp = new PingpangPlayer("乒乓球运动员邓亚萍",21);

System.out.println(pp.getName()+","+pp.getAge());

pp.eat();

pp.study();

pp.speakEnglish();

System.out.println("________");

BasketballCoach bc = new BasketballCoach("篮球教练姚明",35);

System.out.println(bc.getName()+","+bc.getAge());

bc.eat();

bc.teach();

System.out.println("--------");

BasketballPlayer bp = new BasketballPlayer("篮球运动员林书豪",22);

System.out.println(bp.getName()+","+bp.getAge());

bp.eat();

bp.study();

System.out.println("--------");

}

}

--------------------------------------------------------------

package itheima05E186;

public interface SpeakEnglish {

void speakEnglish();

}

--------------------------------------------------------------

package itheima05E186;

public class Person {

private String name;

private int age;

public Person() {

}

public Person(String name, int age) {

this.name = name;

this.age = age;

}

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 eat(){

System.out.println("人是铁饭是钢,一顿不吃饿得慌");

}

}

--------------------------------------------------------------

package itheima05E186;

public abstract class Coach extends Person{

public Coach() {

}

public Coach(String name, int age) {

super(name, age);

}

public abstract void teach();

}

--------------------------------------------------------------

package itheima05E186;

public abstract class Player extends Person{

public Player() {

}

public Player(String name, int age) {

super(name, age);

}

public abstract void study();

}

--------------------------------------------------------------

package itheima05E186;

public class BasketballCoach extends Coach{

public BasketballCoach() {

}

public BasketballCoach(String name, int age) {

super(name, age);

}

@Override

public void eat() {

System.out.println("篮球教练吃羊肉");

}

@Override

public void teach() {

System.out.println("篮球教练教篮球");

}

}

--------------------------------------------------------------

package itheima05E186;

public class BasketballPlayer extends Player{

public BasketballPlayer() {

}

public BasketballPlayer(String name, int age) {

super(name, age);

}

@Override

public void eat() {

System.out.println("篮球运动员吃牛肉");

}

@Override

public void study() {

System.out.println("篮球运动员学篮球");

}

}

--------------------------------------------------------------

package itheima05E186;

public class PingpangCoach extends Coach implements SpeakEnglish{

public PingpangCoach() {

}

public PingpangCoach(String name, int age) {

super(name, age);

}

@Override

public void eat() {

System.out.println("乒乓球教练吃大米粥");

}

@Override

public void teach() {

System.out.println("乒乓球教练教乒乓球");

}

@Override

public void speakEnglish() {

System.out.println("乒乓球教练学英语");

}

}

--------------------------------------------------------------

package itheima05E186;

public class PingpangPlayer extends Player implements SpeakEnglish{

public PingpangPlayer() {

}

public PingpangPlayer(String name, int age) {

super(name, age);

}

@Override

public void eat() {

System.out.println("乒乓球运动员吃小米粥");

}

@Override

public void study() {

System.out.println("乒乓球运动员学习乒乓球");

}

@Override

public void speakEnglish() {

System.out.println("乒乓球运动员学英语");

}

}

185-186 抽象类+接口案例/运动员和教练相关推荐

  1. 【java】 【接口】【继承】【抽象类】案例 运动员和教练

    [接口]可以认为是特殊的抽象类,但是接口只抽象方法,而抽象类抽象整个对象 只有抽象方法,不需要构造方法 一个类不能继承自多个类,但是一个接口可以被多个类实现,接口之间也可继承 接口中的所有成员变量都默 ...

  2. Java(9)接口练习 运动员和教练

    需求:我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关人员都要学习英语,请用所有知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现. 思路: 定义 ...

  3. java第二个案例:运动员和教练(巩固理解抽象类和接口、继承等知识点)

    一.题目 我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练,为了出国交流,跟乒乓球相关的人员都要学习英语,用代码实现.思考有哪些具体类.哪些抽象类.哪些接口. 二.思路 从具体到抽象分析,先从 ...

  4. 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练

    运动员和教练的案例分析 运动运和教练的案例 代码实现 /*教练和运动员案例乒乓球运动员和篮球运动员.乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语.请用所学知识:分析,这个案例中 ...

  5. JAVA接口案例(猫和狗、运动员和教练)

    案例:猫和狗 需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能,请采用抽象类和接口来实现猫和狗的案例,并在测试类中进行测试. 分析: (1)定义接口(Jumpping) 成员方法:跳高() ...

  6. 运动员和教练(接口实现)

    需求: 我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语.请用所学知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现 分析: ...

  7. 9-java学习-多态、抽象类、接口-案例代码

    9-java学习-多态.抽象类.接口-案例代码 一.多态 1.多态:一种事物,在不同时刻所表现出的不同状态. ​ 多态的前提要有继承.没有继承,那么动态就无从谈起 ​ 多态要有方法重写,如果没有方法重 ...

  8. 包 权限修饰符 final 常量 枚举 抽象类 接口 多态 内部类 常用API 正则表达式 Lambda

    包 什么是包? 包是用来分门别类的管理各种不同类的,类似于文件夹.建包利于程序的管理和维护. 建包的语法格式:package 公司域名倒写.技术名称.报名建议全部英文小写,且具备意义. package ...

  9. java ee2019 11 5关于多态 抽象类 接口

    1 猫狗案例 多态版(继承版) class Animal{//成员方法private String name ; private int age ;//无参构造public Animal(){}//有 ...

最新文章

  1. NET插件系统之四——提升系统搜索插件和启动速度的思考
  2. Mockito框架代码学习调试
  3. 1.MySQL数据库的介绍
  4. “工业4.0”下的可视化工厂建设方案 1
  5. 为什么都建议学java而不是python-现在学Python还是Java好呢?
  6. docker-compose文件详解
  7. android mvp快速创建,学习MVPArms历程之Android Studio快速创建ArmsComponent组件化项目
  8. TCP 和 UDP 区别
  9. 如何更换和删除微软雅黑字体
  10. 2022年帝国CMS7.5内核精仿《5288商机网》二次开发多个功能,运营级
  11. 武汉音乐学院计算机免修成绩,教务处
  12. 产品经理职责技能和所需证书
  13. WPF无边框窗体拖动
  14. html相册制作成视频,怎么把照片制作成视频,视频相册制作免费软件|特效多多
  15. 各种DBCO偶联试剂成为点击化学反应的操控新策略
  16. 私有化短链接管理系统-魔众短链接系统 v1.0.0
  17. 【区块链】区块链在金融领域的应用—对全球578家金融机构的调研
  18. ios激活锁_如何检查iOS设备的激活锁状态
  19. 【物联网开发基础】}评估板、开发板、单板机、单片机和核心板之间有什么区别?
  20. Flutter-生命周期

热门文章

  1. 基于协同过滤的算法 图书推荐系统
  2. 敲响警钟:我在台资企业的悲惨待遇
  3. 94 年出生,她们如今都是 985 高校博士生导师
  4. ui动画_ui后效动画指南
  5. SpringBoot - SpringBoot配置说明
  6. 实用分享 2017年最新发布 iod app 上架流程
  7. python函数参数之必选参数,默认参数,可变参数,关键字参数
  8. 永信至诚助中国航信2015年信息安全技能竞赛圆满举行
  9. 北京科技大学计算机专业毕设,北京科技大学毕业生近五年就业情况分析(2017)
  10. JNLP和java web start