185-186 抽象类+接口案例/运动员和教练
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 抽象类+接口案例/运动员和教练相关推荐
- 【java】 【接口】【继承】【抽象类】案例 运动员和教练
[接口]可以认为是特殊的抽象类,但是接口只抽象方法,而抽象类抽象整个对象 只有抽象方法,不需要构造方法 一个类不能继承自多个类,但是一个接口可以被多个类实现,接口之间也可继承 接口中的所有成员变量都默 ...
- Java(9)接口练习 运动员和教练
需求:我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关人员都要学习英语,请用所有知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现. 思路: 定义 ...
- java第二个案例:运动员和教练(巩固理解抽象类和接口、继承等知识点)
一.题目 我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练,为了出国交流,跟乒乓球相关的人员都要学习英语,用代码实现.思考有哪些具体类.哪些抽象类.哪些接口. 二.思路 从具体到抽象分析,先从 ...
- 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练
运动员和教练的案例分析 运动运和教练的案例 代码实现 /*教练和运动员案例乒乓球运动员和篮球运动员.乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语.请用所学知识:分析,这个案例中 ...
- JAVA接口案例(猫和狗、运动员和教练)
案例:猫和狗 需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能,请采用抽象类和接口来实现猫和狗的案例,并在测试类中进行测试. 分析: (1)定义接口(Jumpping) 成员方法:跳高() ...
- 运动员和教练(接口实现)
需求: 我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语.请用所学知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现 分析: ...
- 9-java学习-多态、抽象类、接口-案例代码
9-java学习-多态.抽象类.接口-案例代码 一.多态 1.多态:一种事物,在不同时刻所表现出的不同状态. 多态的前提要有继承.没有继承,那么动态就无从谈起 多态要有方法重写,如果没有方法重 ...
- 包 权限修饰符 final 常量 枚举 抽象类 接口 多态 内部类 常用API 正则表达式 Lambda
包 什么是包? 包是用来分门别类的管理各种不同类的,类似于文件夹.建包利于程序的管理和维护. 建包的语法格式:package 公司域名倒写.技术名称.报名建议全部英文小写,且具备意义. package ...
- java ee2019 11 5关于多态 抽象类 接口
1 猫狗案例 多态版(继承版) class Animal{//成员方法private String name ; private int age ;//无参构造public Animal(){}//有 ...
最新文章
- NET插件系统之四——提升系统搜索插件和启动速度的思考
- Mockito框架代码学习调试
- 1.MySQL数据库的介绍
- “工业4.0”下的可视化工厂建设方案 1
- 为什么都建议学java而不是python-现在学Python还是Java好呢?
- docker-compose文件详解
- android mvp快速创建,学习MVPArms历程之Android Studio快速创建ArmsComponent组件化项目
- TCP 和 UDP 区别
- 如何更换和删除微软雅黑字体
- 2022年帝国CMS7.5内核精仿《5288商机网》二次开发多个功能,运营级
- 武汉音乐学院计算机免修成绩,教务处
- 产品经理职责技能和所需证书
- WPF无边框窗体拖动
- html相册制作成视频,怎么把照片制作成视频,视频相册制作免费软件|特效多多
- 各种DBCO偶联试剂成为点击化学反应的操控新策略
- 私有化短链接管理系统-魔众短链接系统 v1.0.0
- 【区块链】区块链在金融领域的应用—对全球578家金融机构的调研
- ios激活锁_如何检查iOS设备的激活锁状态
- 【物联网开发基础】}评估板、开发板、单板机、单片机和核心板之间有什么区别?
- Flutter-生命周期