博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10-01 Java 类,抽象类,接口的综合小练习--运动员和教练
阅读量:6303 次
发布时间:2019-06-22

本文共 3761 字,大约阅读时间需要 12 分钟。

运动员和教练的案例分析

 

 

 

运动运和教练的案例 代码实现

/*    教练和运动员案例        乒乓球运动员和篮球运动员。        乒乓球教练和篮球教练。        为了出国交流,跟乒乓球相关的人员都需要学习英语。        请用所学知识:        分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。        整个分析过程,我是通过画图讲解的。    *///定义一个说英语的接口interface SpeakEnglish {    //说英语    public abstract void speak();}//定义人的抽象类abstract 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 sleep() {        System.out.println("人都是要睡觉的");    }        //吃饭,运动员和教练吃的不一样。这里使用抽象方法    public abstract void eat();}//定义运动员抽象类abstract class Player extends Person {    public Player() {}        public Player(String name,int age) {        super(name,age);    }        //学习,乒乓器和篮球运动员学习的东西不一样。这里使用抽象方法    public abstract void study();}//定义教练抽象类abstract class Coach extends Person {    public Coach() {}        public Coach(String name,int age) {        super(name,age);    }        //教,乒乓器和篮球运动员教的东西不一样。这里使用抽象方法    public abstract void teach();}//定义乒乓球运动员具体类class PingPangPlayer extends Player implements SpeakEnglish {    public PingPangPlayer(){}        public PingPangPlayer(String name,int age) {        super(name,age);    }        //吃    public void eat() {        System.out.println("乒乓球运动员吃大白菜,喝小米粥");    }        //学习    public void study() {        System.out.println("乒乓球运动员学习如何发球和接球");    }        //说英语    public void speak() {        System.out.println("乒乓球运动员说英语");    }}//定义篮球运动员具体类class BasketballPlayer extends Player {    public BasketballPlayer(){}        public BasketballPlayer(String name,int age) {        super(name,age);    }        //吃    public void eat() {        System.out.println("篮球运动员吃牛肉,喝牛奶");    }        //学习    public void study() {        System.out.println("篮球运动员学习如何运球和投篮");    }}//定义乒乓球教练具体类class PingPangCoach extends Coach implements SpeakEnglish {    public PingPangCoach(){}        public PingPangCoach(String name,int age) {        super(name,age);    }        //吃    public void eat() {        System.out.println("乒乓球教练吃小白菜,喝大米粥");    }        //教    public void teach() {        System.out.println("乒乓球教练教如何发球和接球");    }        //说英语    public void speak() {        System.out.println("乒乓球教练说英语");    }}//定义篮球教练具体类class BasketballCoach extends Coach {    public BasketballCoach(){}        public BasketballCoach(String name,int age) {        super(name,age);    }        //吃    public void eat() {        System.out.println("篮球教练吃羊肉,喝羊奶");    }        //教    public void teach() {        System.out.println("篮球教练教如何运球和投篮");    }}class InterfaceDemo {    public static void main(String[] args) {        //测试运动员(乒乓球运动员和篮球运动员)        //乒乓球运动员        PingPangPlayer ppp = new PingPangPlayer();        ppp.setName("王浩");        ppp.setAge(33);        System.out.println(ppp.getName()+"---"+ppp.getAge());        ppp.eat();        ppp.sleep();        ppp.study();        ppp.speak();        System.out.println("----------------");        //通过带参构造给数据        ppp = new PingPangPlayer("刘洋",36);        System.out.println(ppp.getName()+"---"+ppp.getAge());        ppp.eat();        ppp.sleep();        ppp.study();        ppp.speak();        System.out.println("----------------");                                //篮球运动员        BasketballPlayer bp = new BasketballPlayer();        bp.setName("姚明");        bp.setAge(34);        System.out.println(bp.getName()+"---"+bp.getAge());        bp.eat();        bp.sleep();        bp.study();        //bp.speak(); //没有该方法            }}

 

转载地址:http://pufxa.baihongyu.com/

你可能感兴趣的文章
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>
高性能Javascript--脚本的无阻塞加载策略
查看>>
Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
查看>>
完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
查看>>
iOS8 Push Notifications
查看>>
各大名企笔试及面经大全(程序猿必读)
查看>>
Oracle 连接、会话数的查看,修改
查看>>
Python使用QRCode模块生成二维码
查看>>
英语学习的重要性
查看>>
Android中Handler引起的内存泄露
查看>>
原产地政策,jsonp跨域
查看>>
HDU 1143 Tri Tiling(递归)
查看>>
ffmpeg参数具体解释
查看>>
记一次公司仓库数据库服务器死锁过程
查看>>
Oracle 11g password过期被锁定报道 ORA-28000 the account is locked
查看>>