已阅读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年下半年公开考核招聘工作人员(24人)笔试考试参考题库及答案解析
- 安全卫士课件图片
- 第二单元-学习项目二世界民族音乐博览会(第二课时)核心素养教学设计人教版(简谱)初中音乐七年级上册
- 2025年煤气证考试题附答案
- 2型糖尿病肥胖患者的药物基因组学应用
- 2025药品流通配送医疗机构服务行业市场发展深度研究及配送网络优化和医药物流管理规划方案报告
- 高压氧治疗课件
- 2025年本科院校基建处招聘笔试预测试题及答案
- 2025驾驶员考试科目一试题库(含答案)
- 法布尔昆虫记螳螂课件
- 20-DI-2025005968-移动电源安全技术规范
评论
0/150
提交评论