用偏实战案例(滑手赛程管理系统)来梳理Java对象关系(二)

2024-03-28 03:59

本文主要是介绍用偏实战案例(滑手赛程管理系统)来梳理Java对象关系(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说在前面

上篇文章 没看的可以先点一下啦。在大致了解和梳理了对象关系的知识后,接下来,我们将开始动手创建这个小项目,从零开始布置和填充我们的文件和包,再逐渐实现细节,完成需求(具体需求后面会写)。

(本文偏新手向,逻辑实现程度较简单,以巩固对象关系和提高结构分析能力为主要目的,本人能力有限,知识浅薄,文章如有错误,欢迎指正啊!)

思维导图

(注意!接口实现类较之前有所更改):

在这里插入图片描述

需求如下

测试场景:
目前有四位滑手参赛,如下表格:

姓名性别年龄国籍
Ericmale19America
Seanmale16America
Leticiafemale14Brazil
ZhangSanmale17China

为方便测试,我们为他们统一提供滑板:

板面支架轮子砂纸轴承
ZeroThunderSpitfireMobBones

参赛前他们会从以下参赛要求的招式中练习,努力过后他们最终只能够学会三个,成功率均为90%,而没学招式只有10%的成功率(学会招式为随机三个):

招式名称脚位转体基本招
normal frontside hardflipnormalfrontsidehardflip
nollie backside KickflipnolliebacksideKickflip
fakie frontside bigspinfakiefrontsidebigspin
switch 360 ollieswitch360ollie

凭借努力,他们的能力在赛前就被赞助商所发现,以下赞助商愿意为他们提供帮助
(每人都能获得最多三个赞助):

NIKE-SB 耐克滑板HUF 街头服饰SKALUTE 向滑板致敬7-PE 国家赞助七波辉

比赛的安排及规则如下:

赛事名称地点时间
SLS街头联盟芝加哥2020年5月14日

规则:根据赛事要求的四个招式,每名参赛者按报名顺序,抽签决定所需完成的招式。若失败则直接出局,成功的则留下。如果多名选手都完成招式,则进行下一轮同样的比拼,直到决出最后留下的选手即为胜利者。

测试结果要求:

  1. 赛前公示比赛赛事信息,以及参赛选手的个人信息。
  2. 进行赛程的文字直播。

(我知道你看到这里的时候估计已经裂开了,别担心,接下来由我帮你缝回去~~)

Let’s Begin!

一、创建工程,布置路径

上图!(最底下的SkateTest类被遮了):

路径配置

二、模型填充

模型就是整个项目的地基,后面的需求再复杂也躲不开对模型的依赖与运用。
所以,面对UML图,与其瞪着要实现的需求抓破头皮、发愁叫苦,不如先打好地基,建好模型。这个过程中能够敲敲键盘热热手,也算是把每个对象的属性过一遍。然后便是属性和 getter/setter 方法填充。

以Skater类为例:

package com.skatehomie.model;import java.util.List;public class Skater extends Person{private String dominate;// 组合了 Skateboard类private Skateboard skateboard;private List<String> brands;// 聚合了 Trick类private List<Trick> tricks;// 漫长的 getter/setter 填充,应该有啥好的插件能一键生成吧?!public void setDominate(String dominate) {this.dominate = dominate;}public String getDominate() {return this.dominate;}public<

这篇关于用偏实战案例(滑手赛程管理系统)来梳理Java对象关系(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854375

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录