面向对象程序设计 团队作业2
我的分工
第二次团队作业在第一次的基础上增加了对英雄技能类的实现和维护,根据第一次团队作业讨论的结果,最终决定将技能“幽灵疾步”删去,改为“闪现”,简化了对“瞬移类”技能的实现,更加符合对游戏的基本要求。
思路描述
英雄类
在第一次作业设计英雄类的基础上进行完善,在学习了继承与派生之后,果断将之前设置的“private成员”改为“protected成员”,使子类的使用更加方便,省去了很多不需要的函数功能和步骤。
类图
技能类
不论试探、惩戒还是斩杀,都是一个技能,他们拥有一些共同的属性,比如CD、使用的等级限制等等。所以技能类的实现才用与第一次不完全一样的思路,即引入继承与派生的概念来实现。技能设计好以后,我们可以将其功能进行扩展和修改,使得不同的技能在使用中产生不同的效果。成员变量同样使用“protected类型”。
学习了继承与派生之后,也算是真正接触到了面向对象编程,既然是使用面向对象的程序设计,就应该尽量发挥它的优势,充分体现出抽象、封装、继承和多态的特性。先做出一个基本的框架,把需要的属性和功能写出来。然后再对各个细节进行详细的描述,写出成员函数的定义。
类图
花费的时间
英雄类:4 hours
技能类:2 hours
技能类的实现与英雄类相似,所以花费时间较少。
问题
将类基本实现后,接下来的任务主要是合并与实现接口了。
作者:阿泽Libertas
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。