接口和抽象类练习:教练和运动员案例: (1)人员:乒乓球运动员和篮球运动员。乒乓球教练和篮球教练。 (2)为了出国交流,跟乒乓球相关的人员都需要学习英语。 请用所学知识分析,设计类和接口。

接口和抽象类的练习

需求分析:

教练和运动员案例:
(1)人员:乒乓球运动员和篮球运动员。乒乓球教练和篮球教练。
(2)为了出国交流,跟乒乓球相关的人员都需要学习英语。
请用所学知识分析,设计类和接口。

1、声明Person抽象类,没有抽象方法,
但有属性,姓名等,有方法,吃饭void eat()、睡觉void sleep()等

2、声明教练Coach抽象类,他继承Person类,并增加一个void teach()抽象方法
它有两个子类:兵兵球教练和篮球教练,分别实现void teach()方法
兵兵球教练:打印“教授如何打乒乓球”
篮球教练:打印“教授如何打篮球”

3、声明运动员Sportsman抽象类,他继承Person类,并增加一个void play()抽象方法
它有两个子类:乒乓球运动员和篮球运动员,分别实现void play()方法
乒乓球运动员:打印“打乒乓球”
篮球运动员:打印“打篮球”

4、声明一个接口LearningEnglish,包含抽象方法void learn(),
它有两个实现类:乒乓球教练和乒乓球运动员,并分别实现void learn()方法
乒乓球教练:打印“学习关于用英语交流教学问题”
乒乓球运动员:打印“学习关于用英语交流比赛问题”

5、声明一个Manager类,有一个Person数组,
(1)在无参构造器中,创建这个数组对象,并初始化数组的元素,
里面有乒乓球运动员和篮球运动员、乒乓球教练和篮球教练对象。
(2)声明一个方法,返回所有教练
(3)声明一个方法,返回所有运动员
(4)声明一个方法,返回所有要用英语交流的人
(5)声明一个方法,返回所有人

6、在测试类中测试
(1)打印所有人的信息
(2)获取所有教练,调用他们的teach()
(3)获取所有运动员,调用他们的play()
(4)获取所有要用英语交流的人,调用他们的learn()

代码

1、声明Person抽象类,没有抽象方法,
但有属性,姓名等,有方法,吃饭void eat()、睡觉void sleep()等

/*
 * 1、声明Person抽象类,没有抽象方法,
但有属性,姓名等,有方法,吃饭void eat()、睡觉void sleep()等
 */
public abstract class Person {
   
	private String name;
	
	public Person() {
   
		super();
	}
	public Person(String name) {
   
		super();
		this.name = name;
	}
	
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	
	public  void eat() {
   
		System.out.println("吃饭");
	}
	public void sleep() {
   
		System.out.println("睡觉");
	}
	@Override
	public String toString() {
   
		return "姓名:" + name;
	}
	
	
}

2、声明教练Coach抽象类,他继承Person类,并增加一个void teach()抽象方法
它有两个子类:兵兵球教练和篮球教练,分别实现void teach()方法
兵兵球教练:打印“教授如何打乒乓球”
篮球教练:打印“教授如何打篮球”

/*
 * 声明教练Coach抽象类,他继承Person类,并增加一个void teach()抽象方法
它有两个子类:兵兵球教练和篮球教练,分别实现void teach()方法
兵兵球教练:打印“教授如何打乒乓球”
篮球教练:打印“教授如何打篮球”
 */
public abstract class Coach extends Person {
   
	
	public Coach() {
   
		super();
		// TODO Auto-generated constructor stub
	}

	public Coach(String name) {
   
		super(name);
		// TODO Auto-generated constructor stub
	}

	public abstract void teach();
	
}

public class BasketballCoach extends Coach {
   

	public BasketballCoach() {
   
		super();
		// TODO Auto-generated constructor stub
	}

	public BasketballCoach(String name) {
   
		super(name);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void teach
  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值