




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
闪客教育超媒体培训:面向对象编程的聚合实现方法今天我给大家介绍的是面向对象的聚合方法,至于聚合的概念和作用这里就不作过多的介绍了。今天要个大家解决的问题是:如何把高聚合原则应用到面向对象编程中去?首先,用对象的方式编程就是对聚合性的提高。当然每个对象本身也应该有高聚合性。我们将会用三个小游戏:小行星游戏、俄罗斯方块、吃豆人游戏为例子来讨论聚合原则的实现方法。例1、小行星游戏:如果我们在一段代码里把三个行为都写在一起,就会显得很混乱。所以我们应该把每个行为都分开用函数来定义。函数可以分离功能,把相关的代码组合在一起,创建高聚合的程序。语言代码如下:/* 飞船类*/public class Ship /* * 函数 执行旋转飞船的行为(任务) */ public void rotate() / 旋转飞船的代码 /* *函数执行移动飞船的行为(任务) */ public void move() /移动飞船的代码 /* *函数执行移动飞船开火射击的行为(任务) */ public void fire() /飞船发射子弹的代码 大家可以看到,每个行为都有一个函数,而程序代码在这个简略结构里被很好的组织起来了。例2、俄罗斯方块:俄罗斯方块这个对象具有下落,左右移动,旋转三个行为。基本的类结构如下:/* 俄罗斯方块游戏类*/public class Tetromino /* * 函数 更新方块的位置 */ public void fall() /更新方块位置的代码 /* *函数 左右移动方块 */ public void move() /左右移动方块的代码 /* *函数 旋转方块 */ public void rotate() /旋转方块的代码 同样的,对象的行为都被分到各自的函数。你可能注意到了,“下落”这个方法执行的是“更新方块的位置”。这是因为下落的行为是一直在持续发生的,而不是一次性触发的,所以我们不能只执行“让方块下落”这样的任务。下落的方块每次向下移动一定的位移量,所以我们通过更新方块的位置来反映下落速度。例3、吃人豆:“鬼”这个对象有移动和改变状态两种行为,对它我们还要增加一些东西来实现高聚合。/* “鬼”的类*/public class Ghost /* * 函数 移动鬼 */ public void move() / 鬼以当前方向移动的代码 /* *函数- 改变鬼的方向 */ public void changeDirection() /改变鬼方向的代码 /* *函数- 改变鬼的速度 */ public void changeSpeed() /改变鬼速度的代码 /* *函数- 改变鬼的颜色 */ public void changeColor() /改变鬼颜色的代码 /* *函数- 改变鬼的状态 */ public void changeState() /改变鬼状态的代码 /这个函数会调用其他三个函数:改变鬼的方向,改变鬼的速度,改变鬼的颜色 更改鬼的状态额外增加了三个函数: 改变方向,改变颜色,改变速度。这三个函数不在我们开始的行为列表里,因为它们其实不是对象的行为。这些函数被称为“辅助函数”,它们有助于程序维持高聚合。鬼改变状态(当吃豆人吃到超能豆的时候)这一行为需要执行三个任务:变成蓝色,调转方向,移动变慢。要维持高聚合,所以我们就不要把三个任务放在同一个函数里。我们把它们分到三个子函数里,最后在一个主函数里统一调用。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 思政课程教学模式改革中的挑战与应对策略
- 2025年医疗大数据隐私保护技术合规监管与隐私权保护技术发展趋势报告
- 2025年医疗AI辅助诊断产品注册审批流程中的市场推广与销售策略报告
- 2025年养老金制度创新对金融市场投资策略优化与机遇分析报告
- 2025年休闲农业与乡村旅游融合发展的乡村旅游与有机农业融合发展报告
- 在线教学系统在教育领域的应用与推广策略研究
- 教育科技发展新趋势基于大数据的个性化学习支持系统研究
- 2025年中国农药盐水瓶行业投资前景及策略咨询研究报告
- 统教版二年级语文下册第六单元考点过关卷(含答案)
- 心理疾病对学习的影响及应对策略
- 《标准的制定》课件
- 国土空间规划环评培训
- 北京理工大学《工程电磁场》2021-2022学年第一学期期末试卷
- 火灾事故应急演练桌面推演
- 四川省成都市九县区2023-2024学年高一下学期期末调研考试化学试题(解析版)
- 《二倍角的正弦、余弦、正切公式》名师课件2
- (完整版)python学习课件
- 2024年中国浓缩料预混料行业市场现状、前景分析研究报告(智研咨询发布)
- 内蒙古兴安盟(2024年-2025年小学四年级语文)人教版期末考试(下学期)试卷及答案
- 2021-2022学年物理高一第二学期期末教学质量检测模拟试题含解析
- 小学数学练习设计的有效性研究结题报告
评论
0/150
提交评论