需求:我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练。为了出国交流,跟乒乓球相关人员都要学习英语,请用所有知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现。
思路:
- 定义说英语的接口
- 定义抽象类人类
- 定义抽象类 教练类,继承人类
- 定义抽象运动员类,继承人类
- 定义篮球教练类,继承教练类
- 定义乒乓球教练类,继承教练类,实现英语接口类
- 定义篮球运动员类,继承运动员类
- 定义乒乓球运动员类,继承运动员类,实现说英语接口
- 定义测试类,写代码测试
package coachAndSportsman;
public interface SpeakEnglish {
public abstract void English();
}
package coachAndSportsman;
public abstract class Human {
private String name;
private String age;
public Human() {
super();
}
public Human(String name, String age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public abstract void Eeat();
}
package coachAndSportsman;
public abstract class Coach extends Human {
public Coach() {
super();
}
public Coach(String name, String age) {
super(name, age);
}
public abstract void Teach();
}
package coachAndSportsman;
public abstract class Sportsman extends Human {
public Sportsman() {
super();
}
public Sportsman(String name, String age) {
super(name, age);
}
public abstract void Study();
}
package coachAndSportsman;
public class BasketballCoach extends Coach {
public BasketballCoach() {
super();
}
public BasketballCoach(String name, String age) {
super(name, age);
}
@Override
public void Teach() {
System.out.println("teach basketball");
}
@Override
public void Eeat() {
System.out.println("eat basketball");
}
}
package coachAndSportsman;
public class PPCoach extends Coach implements SpeakEnglish{
public PPCoach() {
super();
}
public PPCoach(String name, String age) {
super(name, age);
}
@Override
public void Teach() {
System.out.println("teach pp");
}
@Override
public void Eeat() {
System.out.println("eat pp");
}
@Override
public void English() {
System.out.println("teacher speakenglish");
}
}
package coachAndSportsman;
public class BasketbalSportsman extends Sportsman{
public BasketbalSportsman() {
super();
// TODO Auto-generated constructor stub
}
public BasketbalSportsman(String name, String age) {
super(name, age);
// TODO Auto-generated constructor stub
}
@Override
public void Study() {
// TODO Auto-generated method stub
System.out.println("play basketball");
}
@Override
public void Eeat() {
// TODO Auto-generated method stub
System.out.println("studtent eat basketball");
}
}
package coachAndSportsman;
public class PPSportsman extends Sportsman implements SpeakEnglish{
public PPSportsman() {
super();
// TODO Auto-generated constructor stub
}
public PPSportsman(String name, String age) {
super(name, age);
// TODO Auto-generated constructor stub
}
@Override
public void Study() {
// TODO Auto-generated method stub
System.out.println("play pp");
}
@Override
public void Eeat() {
// TODO Auto-generated method stub
System.out.println("student eat pp");
}
@Override
public void English() {
System.out.println("student speakenglish");
}
}
package coachAndSportsman;
public class Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Coach b1=new BasketballCoach("B1","50");
BasketbalSportsman b2=new BasketbalSportsman("B2", "18");
System.out.println(b1.getName()+" "+b1.getAge());
System.out.println(b2.getName()+" "+b2.getAge());
b1.Eeat();
b1.Teach();
}
}

被折叠的 条评论
为什么被折叠?



