JAVA作业三:教练与运动员案例

该代码实例展示了面向对象编程中的抽象类(如People、Player和Coach)与接口(LearnEnglish)的概念。ppPlayer和ppCoach实现了LearnEnglish接口,表示乒乓球相关人员需要学习英语。lqPlayer和lqCoach则是不涉及英语学习的篮球运动员和教练。代码通过创建对象并调用方法展示了不同类和接口的功能。
摘要由CSDN通过智能技术生成

问题:
教练和运动员案例:
乒乓球运动员和篮球运动员,乒乓球教练和篮球教练。为了出国交流,跟乒乓球相关的人员都需要学习英语。请用所学知识分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。
分析得到:
在这里插入图片描述
运行截图:
在这里插入图片描述
实验代码:

package 实验.作业3;

interface LearnEnglish{   //学习英语的接口,用于ppPlayer和ppCoach的实现
    public abstract void speak();
}
abstract class People {   //定义人抽象类
    private String name;
    private int age;
    public People(){};
    public People(String name,int age){
        this.name = name;
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }

    public String getName() {
        return name;
    }
    public int getAge(){
        return age;
    }

    public abstract void eat();
    public void sleep(){
        System.out.println("sleeping...");
    }
}
abstract class Player extends People{  //定义运动员抽象类
    public Player(){}
    public Player(String name,int age){
        super(name,age);
    }
    public abstract void study();
}
abstract class Coach extends People{  //定义教练抽象类
    public Coach(){};
    public Coach(String name,int age){
        super(name,age);
    }
    public abstract void teach();
}
class ppPlayer extends Player implements LearnEnglish{
    //定义ppPlayer继承运动员类,实现LearnEnglish接口
    public ppPlayer(){};
    public ppPlayer(String name,int age){
        super(name,age);
    }
    @Override
    public void eat(){
        System.out.println("ppPlayer is eating...");
    }
    @Override
    public void sleep(){
        System.out.println("ppPlayer is sleeping...");
    }
    @Override
    public void study() {
        System.out.println("ppPlayer is studying English...");
    }
    public void speak(){
        System.out.println("ppPlayer is speaking English...");
    }
}
class lqPlayer extends Player{
    //定义lqPlayer继承Player类
    public lqPlayer(){};
    public lqPlayer(String name,int age){
        super(name,age);
    }
    @Override
    public void eat(){
        System.out.println("lqPlayer is eating...");
    }
    @Override
    public void sleep(){
        System.out.println("lqPlayer is sleeping...");
    }
    @Override
    public void study(){
        System.out.println("lqPlayer is studying basketball...");
    }
}
class ppCoach extends Coach implements LearnEnglish{
    //定义ppCoach继承教练类,实现LearnEnglish接口
    public ppCoach(){};
    public ppCoach(String name,int age){
        super(name,age);
    }
    @Override
    public void eat(){
        System.out.println("ppCoach is eating...");
    }
    @Override
    public void sleep(){
        System.out.println("ppCoach is sleeping...");
    }
    @Override
    public void teach(){
        System.out.println("ppCoach is teaching pingpang...");
    }
    public void speak(){
        System.out.println("ppCoach is speaking English...");
    }
}
class lqCoach extends Coach{
    public lqCoach(){};
    public lqCoach(String name,int age){
        super(name,age);
    }
    @Override
    public void eat(){
        System.out.println("lqCoach is eating...");
    }
    @Override
    public void sleep(){
        System.out.println("lqCoach is sleeping...");
    }
    public void teach(){
        System.out.println("lqCoach is teaching basketball...");
    }
}
public class a_01_test{
    public static void main(String[] args) {
        ppPlayer pingPangPlayer = new ppPlayer();
        pingPangPlayer.setName("WWW");
        pingPangPlayer.setAge(30);
        System.out.println("乒乓球运动员1的信息如下:");
        System.out.println(pingPangPlayer.getName()+"----"+pingPangPlayer.getAge());
        pingPangPlayer.eat();
        pingPangPlayer.sleep();
        pingPangPlayer.study();
        pingPangPlayer.speak();
        ppCoach pingpangCoach = new ppCoach();
        pingpangCoach.setName("AAA");
        pingpangCoach.setAge(20);
        System.out.println("乒乓球教练1的信息如下:");
        System.out.println(pingpangCoach.getName()+"----"+pingpangCoach.getAge());
        pingpangCoach.speak();
        pingpangCoach.teach();
        lqPlayer lanqiuPlayer = new lqPlayer();
        lanqiuPlayer.setName("CCC");
        lanqiuPlayer.setAge(25);
        System.out.println("篮球运动员1的信息如下:");
        System.out.println(lanqiuPlayer.getName()+"----"+lanqiuPlayer.getAge());
        lanqiuPlayer.study();
        lqCoach lanqiuCoach = new lqCoach();
        lanqiuCoach.setName("DDD");
        lanqiuCoach.setAge(19);
        System.out.println("篮球教练1的信息如下:");
        System.out.println(lanqiuCoach.getName()+"----"+lanqiuCoach.getAge());
        lanqiuCoach.teach();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值