人,老年人,中年人,小孩,男人, 女人,在类图中如何表达他们?
按照 “is a”原则:
她们都继承自人
男人,女人按性别形成继承关系(不考虑还有不男不女这种人)
老年人,中年人,小孩,又按年龄形成一个继承关系
而且他们又有联系,比如中年人中,有和尚也有尼姑啊
在类图中怎么表达他们的关系
总觉得写两个继承关系,怪怪的!
问题点数:60、回复次数:12Top
1 楼shaqguo()回复于 2006-05-02 21:12:22 得分 5
加个注释,注明是虾米仁!Top
2 楼frank_lee_cn(Frank)回复于 2006-05-02 21:55:44 得分 5
不要分,就是「人」即可。
其它都是属性。Top
3 楼qiuzhizhe(求知者)回复于 2006-05-05 19:58:09 得分 5
看程序的具体情况了,如果有必要的话那么应该以多种不同类型的方式派生,(男女)(年龄阶段),这个时候同一个人可能会根据需要在程序不同的地方会以不同的身份出现。
如果没有必要分得那么清楚地话直接把性别、年龄阶段设定为属性就可以了Top
4 楼nobodyelse(空无一人)回复于 2006-05-06 16:08:21 得分 5
用手柄本体模式设计就可以了Top
5 楼otoexpert(【行进中开火】∈∑≯┈┈┈┈┈⊙)回复于 2006-05-07 17:05:15 得分 5
如果男人女人在系统里做同样的事就没必要分了。Top
6 楼hunyahun(露头一铁锹)回复于 2006-05-09 02:25:29 得分 5
还是要看对这些人方法的设定,比如,如果涉及到站着撒尿和蹲着撒尿的问题多一些就分男人、女人,然后年龄作为属性,或者分别有对应的方法;如果涉及到结婚、离婚、离独、寡居之类的问题多一些,就分为老年人,中年人,小孩,性别作为属性吧。Top
7 楼WOOD1104(木头)回复于 2006-05-09 16:08:21 得分 5
我觉得你这种方式是典型的,紧耦合的方式,会带来问题,人员的类型应该作为一个状态
而不是通过继承来实现,举例来说,小孩,将来也会变成 青年、中年人、老年人,他们之间的这种关系不是一定的,而是随着时间的流逝变化的,因此你采用继承的这种方式实现,我觉得有些不妥,我觉得应该在人员类中增加各属性表示此人员属于小孩、青年、中年、老年、男人女人等Top
8 楼bluesage(海蓝色)回复于 2006-05-10 08:35:32 得分 5
年龄和性别分属人的固有属性。应该从实际的情况出发分析。Top
9 楼hunyahun(露头一铁锹)回复于 2006-05-10 22:53:43 得分 5
To:WOOD1104(木头) 感觉对于年龄来时还是区分比较好,毕竟很多方法是独特的。至于时间问题我觉得在每个子类中加一个方法就可解决。Top
10 楼WOOD1104(木头)回复于 2006-05-11 23:06:12 得分 5
关于人应该具有的动作可以通过桥接模式实现。Top
11 楼foxty(狐狸糊涂)回复于 2006-05-15 17:50:46 得分 5
应该抽象出人的共有特性,比如:性别,年龄,身高,等属性。
按照你这种分法:是怎么都分不完的。应该根据属性的不通来确定不通的对象,而不是按照属性的不通来构造不同的类。Top
12 楼AutoAsm(风流总被雨打风吹去)回复于 2006-05-16 14:21:03 得分 5
gender 和 age 属性区分
不要滥用继承Top




