java-接口之运动员教练员综合案例

xiaoxiao2021-02-28  45

案例需求:

教练员:

             乒乓球教练员,篮球教练员

运动员:

            乒乓球运动员,篮球运动员

要求:乒乓球教练员和乒乓球运动员必须要学习必要的英语。

需求分析:

篮球,乒乓球教练员都是教练员,而且教练员不是具体的哪一类,所以是抽象类。

篮球,乒乓球运动员都是运动员,而且运动员不是具体的哪一类,所以也是抽象类。

教练员和运动员都是人,所以需要定义一个抽象父类人类。

由于特定了一些人需要学外语,所以定义一个英语接口功能。

具体实现如下:

接口:

package com.hause.day10; public interface SpeakEnglish { public void speak(); } 人类:

package com.hause.day10; public abstract class Person { private String name; private int age; public abstract void eat(); public void sleep(){ System.out.println("人都要睡觉!"); } 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 show(){ System.out.println("姓名:"+name+"年龄:"+age); } } 教练员类:

package com.hause.day10; public abstract class Coach extends Person{ public abstract void teach(); }运动员类:

package com.hause.day10; public abstract class Player extends Person { public abstract void study(); }乒乓教练员类:

package com.hause.day10; public class PingPangCoach extends Coach implements SpeakEnglish{ public void speak() { System.out.println("乒乓球教练交运动员打乒乓球的同时还要学习英语!"); } public void teach() { System.out.println("乒乓球教练交运动员打乒乓球!"); } public void eat() { System.out.println("乒乓球教练吃乒乓球教练的饭!"); } }

篮球教练员类:

package com.hause.day10; public class BasketCoach extends Coach { public void teach() { System.out.println("篮球教练教授运动员打篮球!"); } public void eat() { System.out.println("篮球教练吃篮球教练的饭!"); } } 乒乓运动员类:

package com.hause.day10; public class PingPang extends Player implements SpeakEnglish { public void study() { System.out.println("乒乓球运动员学习打乒乓球!"); } public void eat() { System.out.println("乒乓球运动员吃乒乓球的饭!"); } public void speak() { System.out.println("乒乓球运动员学习打乒乓球时候还要学习英语!"); } }

篮球运动员类:

package com.hause.day10; public class Basketball extends Player{ public void study() { System.out.println("篮球球运动员学习打篮球球!"); } public void eat() { System.out.println("篮球球运动员吃篮球球的饭!"); } } 测试类:

package com.hause.day10; /* *具体类调用 * */ public class Main { public static void main(String[] args) { //创建乒乓球与动员对象 PingPang pp = new PingPang(); pp.setName("李春男"); pp.setAge(25); pp.show(); pp.eat(); pp.study(); pp.sleep(); pp.speak(); System.out.println("************************"); //创建乒乓球教练对象 PingPangCoach ppp = new PingPangCoach(); ppp.setName("河南科技大学"); ppp.setAge(26); ppp.show(); ppp.eat(); ppp.teach(); ppp.sleep(); ppp.speak(); System.out.println("******************************************"); //创建篮球运动员对象 Basketball bb = new Basketball(); bb.setName("杨莉"); bb.setAge(22); bb.show(); bb.study(); bb.eat(); bb.sleep(); System.out.println("******************************************"); //创建篮球教练对象 BasketCoach bc = new BasketCoach(); bc.setName("杨莉"); bc.setAge(22); bc.show(); bc.teach(); bc.eat(); bc.sleep(); } } 输出:

姓名:李春男年龄:25 乒乓球运动员吃乒乓球的饭! 乒乓球运动员学习打乒乓球! 人都要睡觉! 乒乓球运动员学习打乒乓球时候还要学习英语! ************************ 姓名:河南科技大学年龄:26 乒乓球教练吃乒乓球教练的饭! 乒乓球教练交运动员打乒乓球! 人都要睡觉! 乒乓球教练交运动员打乒乓球的同时还要学习英语! ****************************************** 姓名:杨莉年龄:22 篮球球运动员学习打篮球球! 篮球球运动员吃篮球球的饭! 人都要睡觉! ****************************************** 姓名:杨莉年龄:22 篮球教练教授运动员打篮球! 篮球教练吃篮球教练的饭! 人都要睡觉!

转载请注明原文地址: https://www.6miu.com/read-75275.html

最新回复(0)