Skip to content

运动员和教练案例

代码的实现

  1. 抽象类:人

    java
    package PlayerandTeacher;
    
    public abstract class Person {
        private String name;
        private int age;
    
        public Person() {
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public int getAge() {
            return age;
        }
        public abstract void eat();
    }
  2. 抽象类:运动员

    java
    package PlayerandTeacher;
    
    public abstract class Player extends Person{
        public Player() {
        }
    
        public Player(String name, int age) {
            super(name, age);
        }
    
        public abstract void study();
    }
  3. 抽象类:教练

    java
    package PlayerandTeacher;
    
    public abstract class Teacher extends Person{
        public Teacher() {
        }
    
        public Teacher(String name, int age) {
            super(name, age);
        }
    
        public abstract void teach();
    }
  4. 接口:学习英语

    java
    package PlayerandTeacher;
    
    public interface English {
        public abstract void SpeakEnglish();
    
    }
  5. 具体类:篮球运动员

    java
    package PlayerandTeacher;
    
    public class Basketballplayer extends Player{
        public Basketballplayer() {
        }
    
        public Basketballplayer(String name, int age) {
            super(name, age);
        }
    
        @Override
        public void study() {
            System.out.println("学习如何打篮球");
        }
    
        @Override
        public void eat() {
            System.out.println("喝小米粥");
        }
    
    
    }
  6. 具体类:乒乓球运动员

    java
    package PlayerandTeacher;
    
    public class pingpungplayer extends Player implements English{
        public pingpungplayer() {
        }
    
        public pingpungplayer(String name, int age) {
            super(name, age);
        }
    
        @Override
        public void study() {
            System.out.println("学习打乒乓球");
        }
    
        @Override
        public void eat() {
            System.out.println("喝小米粥");
        }
    
        @Override
        public void SpeakEnglish() {
            System.out.println("乒乓球运动员学习说英语");
        }
    }
  7. 具体类:乒乓球教练

    java
    package PlayerandTeacher;
    
    public class Pingpungteacher extends Teacher implements English{
        public Pingpungteacher() {
        }
    
        public Pingpungteacher(String name, int age) {
            super(name, age);
        }
    
        @Override
        public void teach() {
            System.out.println("教如何打乒乓球");
        }
    
            @Override
        public void eat() {
            System.out.println("喝大米粥");
        }
    
        @Override
        public void SpeakEnglish() {
            System.out.println("教英语");
        }
    }
  8. 具体类:篮球教练

    java
    package PlayerandTeacher;
    
    public class Basketballteacher extends Teacher{
        public Basketballteacher() {
        }
    
        public Basketballteacher(String name, int age) {
            super(name, age);
        }
    
        @Override
        public void teach() {
            System.out.println("教如何打篮球");
        }
    
        @Override
        public void eat() {
            System.out.println("喝大米粥");
        }
    
    
    }
  9. 测试类(只测试了运动员)

    java
    package PlayerandTeacher;
    
    public class Demo {
        public static void main(String[] args) {
            pingpungplayer pp=new pingpungplayer();
            pp.setName("张");
            pp.setAge(20);
            System.out.println(pp.getName()+","+pp.getAge());
            pp.study();
            pp.eat();
            pp.SpeakEnglish();
    
    
            Basketballplayer bp=new Basketballplayer("郭",20);
            System.out.println(bp.getName()+","+bp.getAge());
            bp.study();
            bp.eat();
        }
    }