一、面向对象方法学引论
1.面向对象方法学的要点:
(1)认为客观世界是由各种对象组成的,任何事物都是对象;
(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法;
(3)按照子类(派生类)与父类(基类)的关系,把若干个对象类组成一个层次结构的系统;
(4)对象彼此之间仅能通过传递消息相互联系。
2.面向对象方法学的优点:
(1)与人类习惯的思维方式一致;
(2)稳定性好;
(3)可重用性好;
(4)较易开发大型软件产品;
(5)可维护性好。
二、面向对象的概念
1.对象:
目前,对对象所下的定义并不完全统一,人们从不同角度给出对象的不同定义。
(1)定义1:对象是具有相同状态的一组操作的集合。
(2)定义2:对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。
(3)定义3:对象::=<ID,MS,DS,MI>。其中,ID是对象的标识或名字,MS是对象中的操作集合,DS是对象的数据结构,MI是对象受理的消息名的集合。
2.对象的特点:
(1)以数据为中心;
(2)对象是主动的;
(3)实现的数据封装;
(4)本质上具有并行性;
(5)模块独立性好。
3.其他概念:
(1)类:对具有相同属性和行为的一个或多个对象的描述。
(2)实例:由某个特定的类所描述的一个具体的对象。
(3)消息:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。
(4)方法:对象所能够执行的操作。
(5)属性:类中所定义的数据,它是对客观世界实体所具有的性质的抽象。
(6)封装:在面向对象程序中,把数据和实现操作的代码集中起来放在对象的内部。
(7)继承:能够直接获得已有性质和特征,而不必重复定义它们。
(8)多态性:子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。
(9)重载:在同一个作用域内的若干个参数特征值不同的函数可以使用相同的函数名字。
三、面向对象建模
1.对象模型:描述系统数据结构
(1)对象模型是对面模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。
(2)对象模型为建立动态模型和功能模型,提供了实质性的框架。
2.动态模型:描述系统控制结构
3.功能模型:描述系统功能
4.三种模型之间的关系:相互补充、相互配合