UML图系列——建模和面向对象
在上一篇UML图系列——UML概要文章中,我提到过两个概念:面向对象、建模
用一片文章来讲这两个概念我想是很有必要的,因为UML是一个建模语言,目标是以面向对象图的方式来描述任何类型的系统。
下来开始介绍这两个概念
建模
首先我们来想两个问题
- 何为建模?
- 为什么要建模?
建模:顾名思义就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。建立系统模型的过程,又称模型化。把分析设计的对象领域里事物的本质进行抽取,以一种简单易懂的可视化形式(模型)来进行表示。
那么为什么要建模?
因为建模能够把复杂的现实世界按照某种特定目的方法来进行抽象化、简单化、形式化。
开发各个阶段又有不同的建模,比如需求建模、分析建模、设计建模、实现建模。
面向对象
同样我们也来思考两个问题:
- 何为面向对象?
- 面向对象为开发带来什么好处?
面向对象是一种以事物为中心的编程思想,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
既然是面向对象,那么什么是对象?
对象:现实生活中具体存在的某一个事物。
对某种类型事物的共性属性与行为进行抽取就行成了类
举个栗子:从下图大家可以感受一下类与对象
面向对象的特征
- 封装
- 继承
- 多态
具体的关于面向对象大家也可以参考我的另两篇文章Java学习笔记——面向对象和Java学习笔记——封装
这里在简单的说下继承和多态
继承有时也叫泛化,是表示类的层级关系,被继承的类叫父类或超类,继承的类叫子类。
- 子类可以继承父类的属性和操作
- 子类还能追加父类没有的新特性
- 子类也可以重写父类的操作
多态对于相同的消息,接收到这个消息的对象可以用各种不同的方法来处理。
举个栗子:
教练通知训练
小王开始跑步
小李开始打球
小张开始举重
接受到的都是训练这个消息,而他们做出了不同的操作。
好了,今天就说到这了,希望能帮助到大家。
欢迎大家关注我的微信公众号:Java编程社区我们一起学习交流。