内部类、匿名类

该实验设计了三个体育直播平台EA、EB、EC,每个平台内部包含一种特定的体育赛事,如足球在平台A,篮球在平台B,排球在平台C。所有赛事都继承自SportsGame类,并实现了IRule接口来定制比赛规则。此外,还创建了羽毛球和乒乓球赛事作为独立的类。在main函数中进行了测试,展示了各个赛事的欢迎信息和规则。
摘要由CSDN通过智能技术生成

一、实验目的

掌握内部类、匿名类的设计思想,作用

二、实验内容

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

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

三、实验要求

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

设计一个体育赛事的类 SportsGame

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

其他羽毛球、乒乓球等赛事设计为普通的类,继承自体育赛事

可以根据不同赛事的特点,为其设计内部的成员变量和成员函数

利用匿名类新增其他的体育赛事

在main函数中进行测试

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

则,可以写代码为(代码中需要建立多个类,不是全部复制就可以运行):

//创建类EA

public class EA {

    public void showE () {

        System.out.println("欢迎来到体育赛事平台A!");

        System.out.println("精彩的足球赛事重磅来袭,敬请期待!");

        Football_Game football_game = new Football_Game();

        football_game.show();

        football_game.setTules();

    }

    //内部类

    class Football_Game extends SportsGame implements IRule{   //足球赛事

        String name = "世界杯";

        public void show() {

            System.out.println("欢迎来到"+name+"!");

        }


        @Override

        public void setTules() {

            System.out.println("时间规则:比赛分为两个半场,一个半场45分钟,中场休息15分钟!");

            System.out.println("常见犯规动作:越位、手球!");

        }

    }

}

//创建类EB

public class EB {

    public void showE () {

        System.out.println("欢迎来到体育赛事平台B");

        System.out.println("精彩的篮球赛事重榜来袭,敬请期待!");

        BasketBall_Game basketBall_game = new BasketBall_Game();

        basketBall_game.show();

        basketBall_game.setTules();

    }

    //内部类

    class BasketBall_Game extends SportsGame implements IRule{

        String name = "NBA";

        public void show() {

            System.out.println("欢迎来到"+name+"!");

        }

        public void setTules() {

            System.out.println("时间规则:全场比赛48分钟,分为 四节,单节12分钟,中场休息10分钟!");

            System.out.println("常见违规动作:限制区3秒违例、带球8秒违例、进攻24秒违例等");

        }     //篮球赛事

 

    }

}

 

//创建类EC

public class EC {

    public void showE () {

        System.out.println("欢迎来到体育赛事平台C");

        System.out.println("精彩的排球赛事重磅来袭,敬请期待!");

        ValleyballGame valleyballGame = new ValleyballGame();

        valleyballGame.show();

        valleyballGame.setTules();

    }

    //内部类

    class ValleyballGame extends SportsGame implements IRule{

        String name = "排球赛!";

        public void show() {

            System.out.println("欢迎来到"+name+"!");

        }

        public void setTules() {

            System.out.println("比赛规则:比赛采用五局三胜制,前四局每局25分。第五局每局15分!");

            System.out.println("常见违规动作:发球违规、拦网犯规、后排队员进攻性击球犯规!");

        }      //排球赛事

 

    }

}

 

//创建类IRule


public interface IRule {

    public void setTules();

}

 

//创建类Banminton_Game

public class Banminton_Game extends SportsGame{

    String name = "羽毛球世锦赛";

    public void show() {

        System.out.println("欢迎来到"+name+"!");

        System.out.println("本次赛事包含男单、男双、女单、女双和混双!");

        System.out.println("精彩纷呈,我们不见不散!");

    }

}

//创建类Ping_PangBall_Game

public class Ping_PangBall_Game extends SportsGame{

    String name = "休斯顿乒乓球世锦赛";

    public void show() {

        System.out.println("欢迎来到"+name+"!");

        System.out.println("本次赛事包含男单、男双、女单、女双和混双!");

        System.out.println("精彩纷呈,我们不见不散!");

    }

 }

 

//创建类SportGame

public class SportsGame {

    String name;    //赛事名字

    public void show() {

        System.out.println("欢迎来到"+name+"!");

    }

}

 

//创建类Main_Test

package shiyan8;

import java.util.*;

public class Main_Test {

    public static void main(String[] args) {

        EA ea = new EA();

        ea.showE();

        System.out.println();

        EB eb = new EB();

        eb.showE();

        System.out.println();

        EC ec = new EC();

        ec.showE();

        System.out.println();

        Ping_PangBall_Game ping_pangBall_game = new Ping_PangBall_Game();

        ping_pangBall_game.show();

        System.out.println();

        Banminton_Game banminton_game = new Banminton_Game();

        banminton_game.show();

    }

}

运行结果中的结果是:

 

 分别是不同的平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_1_7

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

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

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

打赏作者

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

抵扣说明:

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

余额充值