运动员和教练案例的练习(接口,抽象,继承)Java

运动员和教练案例

1. 要求:
IMG_20211112_180629
2.分析
IMG_20211112_180701
3.代码的实现
  1. 抽象类:人

    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. 抽象类:运动员

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

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

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

    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. 具体类:乒乓球运动员

    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. 具体类:乒乓球教练

    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. 具体类:篮球教练

    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. 测试类(只测试了运动员)

    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();
        }
    }
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
开课实验室:现代信息交流中心403 开课时间: 2019年**月**日 实验报告: 2019年 11月 9日 "学院 "信息工程学"年级、 "软件1803班 "学号 "20180822 " "名称 "院 "专业、 " " " " " " "班 " " " " "实验型 "验证 综合 设计 创新 "成绩 " " "教" " "师"教师签名: " "评"年 月 日 " "语" " 1. 实验目的:熟悉和掌握Java中的面向对象编程,包括继承和多态等面向对象方法 。 2. 实验内容: 1. 编写一个圆Circle,该拥有: (1)属性radius; (2)构造方法Circle()和Circle(double r) (3)成员方法: double getArea() double getPerimeter() void show()//显示半径、周长和面积 编写一个圆柱体Cylinder,它继承上面的Circle,还拥有: (1)属性hight (2)构造方法Cylinder(double r, double h) (3)成员方法 double getVolume() void showVolume() 编写测试,创建上面两个的对象,并运行其中的方法。 2. 创建一个Vehicle并将它声明为抽象。在Vehicle中声明一个NumOfWheels方法,用 于显示车轮的数量。 创建两个Car和Motorbike从Vehicle继承,并在这两个实现NumOfWheels方法。 在Car中,应当显示"四轮车"信息; 而在Motorbike中,应当显示"双轮车"信息。 创建一个带main方法的,在该中创建Car和Motorbike的实例,并在控制台中显示消 息。 3. 采用继承接口等面向对象思维来设计教练运动员: (1)乒乓运动员篮球运动员 (2)乒乓教练篮球教练 (3)为了出国交流,跟乒乓球相关的人员都需要学习语。 提示:重点考虑中属性、方法和间层次关系,并编程实现。 3. 源代码清单: 1.源代码清单 package text1; public class Circle { double radius; Circle(){ radius=0; } Circle(double radius){ this.radius=radius; } double getArea(){ return radius*radius*Math.PI; } double getPerimeter(){ return radius*Math.PI*2; } void show(){ System.out.println("半径:"+radius+"周长:"+getPerimeter()+"面积:"+getArea( )); } } public class Cylinder extends Circle{ double hight; Cylinder(double r, double h){ this.radius=r; this.hight=h; } double getVolume(){ return getArea()*hight; } void showVolume(){ System.out.println("体积:"+getVolume()); } public static void main(String args[]) { Circle a = new Circle(4); Cylinder b= new Cylinder(4,6); a.show(); b.showVolume(); } } 2.源代码清单 package text1; abstract class Vehicle { abstract void NumOfWheels(); } public class Car extends Vehicle{ void NumOfWheels(){ System.out.println("四轮车"); } } public class Motorbike extends Vehicle{ void NumOfWheels(){ System.out.println("双轮车"); } public static void main(String args[]){ Car a = new Car(); Motorbike b= new Motorbike(); a.NumOfWheels(); b.NumOfWheels(); } } 3. 源代码清单 package shiyan3; abstract class person { public void show() { Syst
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2023-8-13胖胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值