欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。

程序员文章站 2022-07-12 20:47:39
...

需求说明:

模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。具体分析如下:

(1)共同的属性:姓名、年龄。

(2)共同的方法:吃饭。其中吃饭的内容两者不同,所以采用抽象的方法。

(3)不同的方法:队员练习,教练教导,分别写入队员类和教练类。

(4)接口:学习英语。

(5)抽象类:人类、运动员类、教练类、后两者继承自人类。

(6)具体类:乒乓球队员类、教练类和篮球队员类、教练类;分别继承远动员或教练类,其中乒乓球有关的扩展学习英语接口

编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。

程序运行结果:

编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。

 

实现思路:

(1)定义英语接口English,该接口中定义抽象方法speak(),返回值类型是void。

(2)定义抽象类Person,包括两个成员变量,分别是name 和 age。name是String 类型,age是int类型。定义两个构造方法,一个有参,一个无参。再定义一个抽象方法,eat(),返回值类型是void。最后定义一个show()方法,返回值是void。该方法中显示名称和年龄。

(3)定义抽象远动员类Player,它继承了Person抽象类。定义两个构造方法一个有参,一个无参注意应用super。再定义一个抽象方法student()。返回值是void。这是运动员类特有的方法。

(4)定义抽象教练类Coach,它继承了Person抽象类。定义两个构造方法一个有参,一个无参注意应用super。再定义一个抽象方法teacher()。返回值是void。这是运动员类特有的方法。

(5)定义乒乓球运动员类PingpangPlayer。它继承Player,同时实现English接口。

(6)定义乒乓球教练类PingpangCoach。它继承Coach,同时实现English接口。

(7)定义篮球运动员类BasketballPlayer。它继承Player。

(8)定义篮球教练类BasketballCoach。它继承Coach。

(9)定义测试类Test,在主方法中,分别实例化不同运动员和教练员并调用各自的方法。

 

实现代码:

English 接口:

//定义一个说英语的接口
public interface English {
	//说英语
	void speak();
}

Person 抽象类:


public abstract class Persion {
	private String name;//姓名
	private int age;//年龄
	//无参构造
	public Persion() {
	}
	//有参构造
	public Persion(String name, int age) {
		this.name = name;
		this.age = age;
	}
	//吃饭的抽象方法
	public abstract void eat();
	//睡觉
	public void sleep() {
		System.out.println("人的要睡觉的");
	}
	//展示姓名和年龄
	public void show() {
		System.out.printf("姓名:%s\t年龄:%d",name,age);
		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;
	}
	
}

Player 运动员类:



public abstract class Player extends Persion{
	//无参构造
	public Player() {
		super();
	}
	//有参构造方法
	public Player(String name,int age) {
		super();
	}
	//运动员学习的抽象类
	public abstract void student();
}

Coach 教练类:

public abstract class Coach extends Persion {
	//无参构造
	public Coach() {
		super();
	}
	//有参构造方法
	public Coach(String name,int age) {
		super();
	}
	//教练教授的学习方法
	public abstract void teacher();
}

PingpangPlayer 乒乓球运动员类:

public class PingpangPlayar extends Player implements English {
	
	@Override
	public void student() {
		System.out.println("乒乓球运动员要练习发球和接球技巧");
	}

	@Override
	public void eat() {
		System.out.println("乒乓运动员吃清淡的饭菜");
	}

	@Override
	public void speak() {
		System.out.println("乒乓球运动员要学习英语");
	}
	
}

PingpangCoach 乒乓球教练类:


public class PingpangCoach extends Coach implements English {

	@Override
	public void teacher() {
		System.out.println("乒乓球教练要教导队员发球和接球技巧");
	}

	@Override
	public void eat() {
		System.out.println("乒乓球教练跟着队员吃清淡的饭菜");
	}

	@Override
	public void speak() {
		System.out.println("乒乓球教练要学习英语");
	}

}

BasketballPlayer 篮球运动员类:

public class BasketballPlayer extends Player {

	@Override
	public void student() {
		System.out.println("篮球运动员要练习运球和投篮技巧");
	}

	@Override
	public void eat() {
		System.out.println("篮球运动员要吃高蛋白的饭菜,保持健壮的身体");
	}
	
}

BasketballCoach 篮球教练类:

public class BasketballCoach extends Coach {

	@Override
	public void teacher() {
		System.out.println("篮球教练要跟着队员,要吃高蛋白的饭菜");
	}

	@Override
	public void eat() {
		System.out.println("篮球教练要教导队员运球和投篮技巧");
	}

}

Test 测试类:


public class Test {

	public static void main(String[] args) {
		//实例化乒乓球运动员
		PingpangPlayar pp = new PingpangPlayar();
		pp.setName("马明");
		pp.setAge(26);
		pp.show();
		pp.eat();
		pp.student();
		pp.speak();
		
		System.out.println("----------------------");
		//实例化乒乓球教练
		PingpangCoach pc = new PingpangCoach();
		pc.setName("姚梁");
		pc.setAge(38);
		pc.show();
		pc.eat();
		pc.teacher();
		pc.speak();
		
		System.out.println("----------------------");
		//实例化篮球运动员
		BasketballPlayer bp = new BasketballPlayer();
		bp.setName("刘国");
		bp.setAge(41);
		bp.show();
		bp.eat();
		bp.student();
		
		System.out.println("----------------------");
		//实例化篮球教练
		BasketballCoach bc = new BasketballCoach();
		bc.setName("杰克");
		bc.setAge(42);
		bc.show();
		bc.eat();
		bc.teacher();
	}

}