想学好编程的包子 2021-11-27 15:49 采纳率: 100%
浏览 118
已结题

用Java设计程序(内部类,匿名类)

1、三大体育媒体互联网平台,由于资源独占,有些类别的运动只能在某个平台上进行独播

2、足球赛事只能在平台A上进行独播,篮球赛事只能在平台B上进行独播,排球赛事只能在平台C上进行独播,其他赛事可以在几个平台上进行直播;

3、要求

( 1)三个体育直播平台EA、EB、EC设计为三个类

( 2)设计一个体育赛事的类SportsGame

(3)三个赛事设计为体育赛事的三个子类,分别作为三个平台的内部

(3)其他羽毛球、乒乓球等赛事设计为普通的类,继承自体育賽事( 4)可以根据不同赛事的特点,为其设计内部的成员变量和成员函数(5)利用匿名类新增其他的体育赛事

( 6)在main函数中进行测试

( 7)增加比赛规则接口IRule, 令所有的体育赛事实现该接口,重新制定各自的比赛规则

  • 写回答

1条回答 默认 最新

  • 未聞花名丶 2021-11-28 08:52
    关注
    
    public class Demo {
        public static void main(String[] args) {
            EB eb = new EB();
            EB.Basketball basketball = eb.new Basketball(10);
            basketball.game();
            basketball.setCoach("姚明");
            basketball.strategy();
            
            // 匿名类
            new SportsGame(5) {
                @Override
                public void rule() {
                    System.out.println("比赛规则...");
                }
    
                @Override
                protected void game() {
                    rule();
                    System.out.println(getSportsman() + "人参加短跑运动");
                }
            }.game();
        }
    }
    
    abstract class SportsGame implements IRule {
        // 运动员人数
        private int sportsman;
    
        public SportsGame() {
        }
    
        public SportsGame(int sportsman) {
            this.sportsman = sportsman;
        }
    
        public int getSportsman() {
            return sportsman;
        }
    
        public void setSportsman(int sportsman) {
            this.sportsman = sportsman;
        }
    
        protected abstract void game();
    }
    
    
    class EA {
        public EA() {
            System.out.println("欢迎观看A平台直播...");
        }
    
        // 足球
        class Football extends SportsGame {
            public Football(int sportsman) {
                super(sportsman);
            }
    
            @Override
            protected void game() {
                System.out.println(getSportsman() + "人参加足球赛事");
            }
    
            @Override
            public void rule() {
    
            }
        }
    }
    
    class EB {
        public EB() {
            System.out.println("欢迎观看B平台直播...");
        }
    
        // 篮球
        class Basketball extends SportsGame {
            private String coach;
    
            public Basketball(int sportsman) {
                super(sportsman);
            }
    
            public String getCoach() {
                return coach;
            }
    
            public void setCoach(String coach) {
                this.coach = coach;
            }
    
            @Override
            protected void game() {
                System.out.println(getSportsman() + "人参加篮球赛事");
            }
    
            public void strategy() {
                System.out.println(String.format("教练 [%s] 商量策略", coach));
            }
    
            @Override
            public void rule() {
    
            }
        }
    }
    
    class EC {
        public EC() {
            System.out.println("欢迎观看C平台直播...");
        }
    
        // 排球
        class Volleyball extends SportsGame {
    
            public Volleyball(int sportsman) {
                super(sportsman);
            }
    
            @Override
            protected void game() {
                System.out.println("排球赛事");
            }
    
            @Override
            public void rule() {
    
            }
        }
    }
    
    // 乒乓球
    class PingPong extends SportsGame {
        public PingPong(int sportsman) {
            super(sportsman);
        }
    
        @Override
        protected void game() {
            System.out.println("乒乓球赛事");
        }
    
        @Override
        public void rule() {
    
        }
    }
    
    interface IRule {
        void rule();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 11月27日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘