/*
由于需要实现乒乓球运动员和乒乓球教练,篮球运动员和篮球教练。
而乒乓球的教练和运动要出国需要学习英语
分析:
1.乒乓球运动员,篮球运动员,乒乓球教练,篮球教练。(具体的人)
2.乒乓球运动员和篮球运动员都是属于运动员一职业。乒乓球教练和篮球教练都是属于教练一职业。(抽象的)
3.运动员和教练都是人(抽象的)
4.学习英语是附加的功能(接口)
*/
//接口
interface IEnglish{
public abstract void speak();
}
//抽象的人类,暂时不写set get方法。
abstract class Person {
private String name;
private int age;
Person(){}
public static void sleep(){
System.out.println("睡觉");
}
public abstract void eat();
}
//运动员抽象类,继承人类。
abstract class Player extends Person{
public Player(){}
public abstract void study();
}
//教练抽象类,继承人类。
abstract class Train extends Person{
public Train(){}
public abstract void teach();
}
//乒乓球运动员具体类
class PingPong extends Player implements IEnglish{
public PingPong(){}
public void speak(){
System.out.println("说英语");
}
public void eat(){
System.out.println("吃乒乓");
}
public void study(){
System.out.println("学打球");
}
}
//篮球运动员具体类
class Baske extends Player
{
public Baske(){}
public void eat(){
System.out.println("吃篮球");
}
public void study(){
System.out.println("学打球");
}
}
//乒乓球教练
class PingPongTrain extends Train implements IEnglish{
public PingPongTrain(){}
public void speak(){
System.out.println("说英语");
}
public void eat(){
System.out.println("吃足球");
}
public void teach(){
System.out.println("教打球");
}
}
//篮球教练具体类
class BaskeTrain extends Train
{
public BaskeTrain(){}
public void eat(){
System.out.println("吃篮球");
}
public void teach(){
System.out.println("教打球");
}
} |