建立面向对象的世界观
对对象模型的通俗理解
本教程的主要内容和作用
通过通俗简单的生活事例来演绎对象建模的基本概念。
开阔学员视野,让学员轻松树立面向对象的世界观。
让学员掌握用面向对象方法分析问题的要领。
为学员学习对象建模方法热身。
本教程适应的人员
中级面向对象程序员
初级业务设计员
中级业务分析员
初级系统分析员
高级技术支持人员
建模就是认识现实世界
客观世界
世界
主观世界
认识世界
改造世界
世界是什么样的呢?
不同类型的人有不同的世界观
E=MC2
事物,运动
矛盾,变化,发展
X+Y=Z
1+1=?
类,关联,对象
持不同的世界观就会得到对现实世界的不同认识——
建立不同的世界模型。
只存在同一个现实世界
所以,模型没有对错、只有符合建模人目的多少之分。
软件人的目的
现代目的:
在计算机中模拟现实世界的物和事。
传统目的:
控制计算机运行。
站在六个角度来看待事物
A.这里面有什么东东?
B.每个东东看上去是什么样的?
C.每个东东能做点什么用?
D.这些东东都呆在什么地方?
E.这些东东之间有什么关系?
F.这些东东是怎么成事的?
举例说明……
默记一下!
A.这里面有什么东东?
B.每个东东看上去是什么样的?
C.每个东东能做点什么用?
D.这些东东都呆在什么地方?
E.这些东东之间有什么关系?
F.这些东东是怎么成事的?
“昨天我的一个朋友结婚了”
这里面有什么东东?
月老,小伙,姑娘,恋人,玫瑰花。
每个东东看上去是什么样的?
月老,看上去有些年纪了,挺热心的。
小伙,看上去很强壮,很实诚的。
姑娘,看上去好漂亮,还很温柔。
恋人,看上去很黏糊,当然就结婚了。
玫瑰花,火红火红的,难怪姑娘动情了。
本故事纯属虚构,如有雷同,请莫对号入座……
每个东东能做点什么用?
月老:牵线搭桥,介绍认识。
小伙:追求献花,表达爱意。
姑娘:仰慕倾情,以身相许。
恋人:拍拖…结婚。
玫瑰花:令姑娘头晕,传情示爱。
这些东东都呆在什么地方?
月老:婚介所,交友网站。
小伙:软件园,住唐家。
姑娘:人民医院,住新香洲。
恋人:情侣路,电影院,…
玫瑰花:花店里,小伙手中,姑娘手中。
这些东东之间有什么关系?
关系 月老 小伙 姑娘 恋人 玫瑰
月老 干妈 舅妈 撮合者 没关系
小伙 干儿子 男友老公 男主角 买送主
姑娘 外甥女 女友太太 女主角 受主
恋人 作品 组合 组合 使用者
玫瑰 没关系 信物 受物心意 信物
这些东东是怎么成事的?
月老牵线搭桥,介绍小伙和姑娘认识;
姑娘和小伙一见钟情,成为一对恋人;
一对恋人开始拍拖;
小伙追求献花,表达对姑娘的爱意;
姑娘收到999火红玫瑰,激动得头晕目眩;
小伙真心求婚,姑娘以身相许;
一对恋人终于走入婚姻殿堂。
用面向对象世界观看事物的答案
A.这里面有些什么东东?
答:
这里面有的都是事物。
注:如果大陆第一个翻译Object的人不翻译为“对象”,而是把它翻译为“事物”就好了,这样就可以省掉这个问题。台湾人的翻译就非常准确,叫做“物件”。
如上例,
有月老,小伙,姑娘,恋人,玫瑰等事物(对象)
B.每个事物看上去是什么样的?
每个事物看上去都有自己的属性,在每个属性上都有一个特征值。
如上例中:
月老,有属性:年纪,特征值:较大;
小伙,有属性:体格,特征值:强壮;
姑娘,有属性:性情,特征值:温柔;
恋人,有属性:关系,特征值:黏糊;
玫瑰花,有属性:颜色,特征值:火红。
C.每个事物能做点什么用?
每个事物都具备某种能力;
这些事物有什么用,就要看它有什么能力了。
注:如果大陆第一个翻译Method的人就把它翻译为“能力”就好了,这样也可以省掉这个问题。台湾人的翻译好象也叫“方法”。
如上例中:
月老有牵线搭桥,介绍认识的能力(方法);
小伙有“追求”的能力,姑娘有“嫁人”的能力;
恋人有“拍拖”的能力,玫瑰有“示爱”的能力。
D.这些事物都呆在什么地方?
每个事物都会有它合理的或者必须的空间位置和逻辑位置。尤其当这些位置对事物的行为造成重要影响的时候,表明他们的位置是极其重要的。
面向对象的世界观中叫事物的部署。
上例列出的位置对故事主要情节没有太大的影响,本来是可以不列出来的。
E.这些事物之间有什么关系?
事物之间的关系非常多,面向对象的观点一般分为主要的三类:
整体-部分关系,甲是乙的一个组成部分。
如恋人和小伙,恋人和姑娘的关系。
笼统-具体关系,甲是乙的一个特例。
如人和小伙,人和月老,人和姑娘的关系。
伙伴关系,甲会对乙做点什么。
如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系。
F.这些事物是怎么成事的?
每个事物都会尽量利用伙伴的能力;
整体事物的能力依靠部分事物的能力;
笼统事物的属性和能力就是具体事物的属性和能力;具体事物除了有笼统事物的属性和能力外,还可以有自己特殊的。
事物分工协作,互通信息,共同完成整体的目标。
俗语对术语的映射
俗语 术语 例子
出了什么事? 用例 我的一个朋友结了婚。
具体事物 对象 我的一个朋友,他未婚妻…
事物类型 类 小伙,姑娘,玫瑰,月老…
属性 属性 年龄,体格,性情…
能力 方法 牵线,追求,结婚…
位置 部署 软件园,情侣路…
整-部关系 聚集关系 恋人-小伙,恋人-姑娘
笼-具关系 继承关系 人-小伙,人-姑娘
伙伴关系 关联关系 小伙-姑娘,小伙-玫瑰
成事过程 用例实现 相识,相恋,结婚
术语的图形符号
对象名
用术语来建模
还是问上述六个问题;
可以打乱顺序问,同时问;
顺着知道答案的问题问下去;
把答案用术语的图形记下来。
用术语图形再次演绎古典浪漫爱情故事……
“我的一个朋友结婚了”
A.这里面有什么东东?
我
我的朋友
我朋友的妻子
故事与“我”无关,去掉“我”,我的朋友是小伙,他妻子是姑娘,于是得到两个类:
他们怎么就成了?
他们已经拍拖两年了,如胶似漆,你情我愿,不就成了。
拍拖必须是一对恋人所为,于是出来:
旁白:一对恋人是由一个姑娘和一个小伙组成,一对恋人能够拍拖,关系黏糊,也就能结婚了…。
他们是怎么拍起拖来的?
两年前,姑娘的舅妈介绍他俩认识,他俩一见钟情,于是便拍起拖来了。
舅妈是月老,可能撮合了好多对恋人,我朋友他们只不过是其中一对,于是得到:
促成
1...*
1
1
他们都喜欢对方什么?
姑娘喜欢小伙年轻,健壮,实诚;
小伙喜欢姑娘年轻,漂亮,温柔。
姑娘小伙都感谢月老的老到和热心肠。
发现共性…..
他们都是普通人
月老,小伙,姑娘有共同的属性“年纪”和“性情”,虽然作为普通人还有很多其他的属性,但在此起重要作用的大概就这两条了,于是得到关系。
他们怎么拍拖的?
小伙不仅对姑娘甜言蜜语,而且经常送花给姑娘表达爱意,求婚那次一次就献了999朵火红的玫瑰。
使用
1...*
1
1
完整故事的静态模型
搞清过程的活动图
拍拖过程活动图
复述情节的顺序图
初次见面顺序图:
求婚过程顺序图
理清头绪的协作图
初次见面的协作图
定点观察的状态图
恋人的状态图
补充练习
“昨天我同事的儿子考上了大学”;
“干旱了这么久了,请想个法子下场雨吧;”
“上月去北京开会时老王遇到老同学老张;”
“一到月底就手头急,钱都跑哪里去了?”
“看大家忙忙碌碌的,可活不见长,到底咋回事?”
请每个听众回去模仿本教程选择以上其中一个故事进行演绎,作为对本人倾情演出的回报。
谢谢!
实践出真知,竞争长才干。