真正的学习UML之前,我们要首先理解什么是面向对象程序设计?为什么用面向对象程序设计?它与面向过程的优点在哪里?等等,只有慢慢的理解了这些问题,我们学习UML才会顺手。
在程序设计中,对象表达为被描述事物的数据和对数据的处理的统一整体,也成为封装。把对象按相同的特装区分成为类,类具有的层次性,子类可以继承父类的所有数据和操作,由于对象是封装的,对象间的联系是通过传递信息实现的,面向对象的这些基本思想使其能解决以往开发中的一些问题。
面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming),下面来学习:
面向对象的三大特点(封装,继承,多态)缺一不可。通常“基于对象”是使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点。而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。现在的很多流行技术都是基于对象的,它们使用一些封装好的对象,调用对象的方法,设置对象的属性。但是它们无法让程序员派生新对象类型。他们只能使用现有对象的方法和属性。所以当你判断一个新的技术是否是面向对象的时候,通常可以使用后两个特性来加以判断。“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些。