在某运动会的管理系统中,需要对运动员进行管理。请抽象出运动员类Sporter,属性姓名name,年龄age,国籍nationality,抽象方法是比赛match(),篮球运动员BasketballPlayer和足球运动员FootballPlayer继承Sporter,重写比赛方法。实现运动员的运动和比赛方式。
时间: 2024-02-22 15:58:31 浏览: 4
好的,以下是Java代码实现:
```
abstract class Sporter {
protected String name;
protected int age;
protected String nationality;
public Sporter(String name, int age, String nationality) {
this.name = name;
this.age = age;
this.nationality = nationality;
}
public abstract void match();
}
class BasketballPlayer extends Sporter {
public BasketballPlayer(String name, int age, String nationality) {
super(name, age, nationality);
}
@Override
public void match() {
System.out.println("我是篮球运动员,我在打篮球比赛");
}
}
class FootballPlayer extends Sporter {
public FootballPlayer(String name, int age, String nationality) {
super(name, age, nationality);
}
@Override
public void match() {
System.out.println("我是足球运动员,我在踢足球比赛");
}
}
public class Main {
public static void main(String[] args) {
BasketballPlayer basketballPlayer = new BasketballPlayer("David", 20, "USA");
FootballPlayer footballPlayer = new FootballPlayer("Jack", 22, "England");
Sporter[] sporters = new Sporter[]{basketballPlayer, footballPlayer};
for (Sporter sporter : sporters) {
sporter.match();
}
}
}
```
运行结果为:
```
我是篮球运动员,我在打篮球比赛
我是足球运动员,我在踢足球比赛
```
在这个例子中,我们首先定义了一个抽象类Sporter,BasketballPlayer和FootballPlayer继承Sporter,并且重写了match()方法。在Main类中,我们创建了篮球运动员和足球运动员的对象,将它们存储在Sporter类型的数组中,并通过循环调用match()方法,可以看到每个运动员都运动和比赛的不同方式。