栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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("乒乓球运动员学英语");

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606011.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号