第四章面向对象程序设计方法
一.实验目的
1.掌握面向对象程序设计的方法。明确类与对象的概念,掌握面向对象设计七大原则;
2.掌握常见的设计模式以及类图的描述
二.七大原则总结
(1)单一职责原则:类的职责要单一,不能将太多的职责放在一个类里。
(2)开闭原则:一个软件实体应当对扩展开放,对修改关闭,也就是说在设计一个模块时,应该使这个模块在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。
(3)里氏代换原则:在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。
(4)依赖倒转原则:高层模板不应该依赖低层模板,他们都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象。
(5)接口隔离原则:使用多个专门的接口来取代一个统一的接口。
(6)合成复用原则:在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系。
(7)迪米特法则:一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互。
三.题目要求及其分析
本题目要求的游戏角色应有以下属性:名字、性别、种族、职业、力量、敏捷、体力、智力、智慧、生命值和魔法值。
名字:由用户自己设计,不能超过50个字符。
性别:可以选择男性和女性。
种族:一共可选五个种族,人类、精灵、兽人、矮人和元素。
职业:可选六种职业,狂战士、圣骑士、刺客、猎手、祭司和巫师。
生命值=体力*20。
魔法值=(智力+智慧)*10。
种族和职业约束关系表如下:
各职业初始属性的大致比例应遵从下表:
按