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

本文通过一个综合案例展示了Java接口在运动员和教练员类的设计中如何使用。案例包括篮球和乒乓球的教练员及运动员,强调乒乓球教练员和运动员需要额外学习英语。文中定义了抽象类`人类`,以及`教练员`和`运动员`的抽象类,并创建了`英语`接口。具体实现包括篮球和乒乓球的教练员及运动员类,详细描述了他们的行为,如教学、训练、吃饭和学习英语等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例需求:

教练员:

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

运动员:

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

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


需求分析:

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

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

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

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

具体实现如下:

接口:

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
篮球教练教授运动员打篮球!
篮球教练吃篮球教练的饭!
人都要睡觉!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值