30、面向对象设计:从理论到实践

面向对象设计:从理论到实践

在软件开发中,面向对象设计(OOD)是一种强大的方法,它可以帮助我们创建更易于维护、扩展和复用的代码。本文将通过一个具体的游戏案例——“网络入侵者”(Cyberspace invader),深入探讨面向对象设计的过程和原则。

1. 设计基础与案例引入

1.1 程序结构设计

在设计程序时,我们可以选择将其设计为多个类,也可以设计为单个类。例如,一个程序原本设计为两个主要类,但也可设计成单个类。不过,将程序设计为多个类能更明确地利用程序规范中存在的对象,还能将程序的图形用户界面(GUI)部分与核心逻辑分离,这是一种广泛推荐的程序结构,它使得程序的各个部分更易于修改。比如,我们可以独立于气球类(Balloon)的编码来更改 GUI。

1.2 案例研究:网络入侵者游戏

“网络入侵者”是一款游戏,其规范描述如下:在一个图片框中显示一个防御者和一个外星人。外星人会左右移动,碰到墙壁时会改变方向,并且会定期发射垂直向下移动的炸弹。同一时间只存在一枚炸弹,如果炸弹击中防御者,防御者失败。防御者会根据鼠标移动左右移动,点击鼠标时,防御者会发射向上移动的激光,同一时间只存在一道激光,当激光击中外星人时,防御者获胜。

2. 设计步骤:识别对象与方法

2.1 识别对象

设计的主要步骤之一是通过在规范中搜索名词来识别对象。在“网络入侵者”游戏的规范中,我们找到的名词有:game(游戏)、picture box(图片框)、defender(防御者)、alien(外星人)、wall(墙壁)、bomb(炸弹)、mouse(鼠标)、laser(激光)。这些名词对应着程序中

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值