UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第一章 理解面向对象 如何理解面向对象思维方式 些面向对象的概念 对象如何与其他对象关联
Page 2 第一章 理解面向对象 ◼ 如何理解面向对象思维方式 ◼ 一些面向对象的概念 ◼ 对象如何与其他对象关联
如何理解面向对象思维方式? 对象( object),无论是具体的还是抽象的,遍布于我们的周围,它 们组成了整个世界。程序通常也要模拟现实世界中的对象。 首先最重要的,对象是一个类(种类)的实例。例如你和我都是 Person这 个类的实例,那么其中,你和我就是对象,而 Person则是一个类。对象是 系统中用来描述客观事务的一个实体,具有自身的结构( Structure), 也就是说,它具有属性(特性和行为。对象的行为包括它所能执行的操 作。属性和操作合起来被称为特征。 对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本 质的、与系统目标无关的特征
Page 3 对象(object),无论是具体的还是抽象的,遍布于我们的周围,它 们组成了整个世界。程序通常也要模拟现实世界中的对象。 首先最重要的,对象是一个类(种类)的实例。例如你和我都是Person这 个类的实例,那么其中,你和我就是对象,而Person则是一个类。对象是 系统中用来描述客观事务的一个实体,具有自身的结构(Structure), 也就是说,它具有属性(特性)和行为。对象的行为包括它所能执行的操 作。属性和操作合起来被称为特征。 如何理解面向对象思维方式? 对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本 质的、与系统目标无关的特征
cass)是具有相同的属性和方法的一组对象的集合,它为属于该类的全 部对象提供了统一的对象描述。 同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的属性值 相同。 在面向对象的世界里,类除了起到分类的作用外,类还是用来创建对象的模板 如可以把类看成是加工小甜饼的模子,你可以用来压出新的小甜饼对象 让我们再会到洗衣机的例子。如果指定洗衣机类具有 brand name. codename、 seriallname、和 capacity等属性,还有 acceptclothes0. acceptDetergent0、 turnon0和 turnon0等操作的 话,你就有了制造 Washing Machina类新实例的机制。也就是说,可以基于 洗衣机这个类创建新的对象。 记住面向对象的目标是开发出能够反映现实世界某个特定片段的软件(或者说 是“建模”)。你考虑到的属性和行为越多,你所建立的模型就越符合实际 在洗衣机的例子中,如果你在洗衣机类中包括 drumyolume(洗涤缸容量 )、trap(水阀)、 motor(马达)、 motorspeed(马达转速)等属性的话, 洗衣机模型就更精确
Page 4 类(Class)是具有相同的属性和方法的一组对象的集合,它为属于该类的全 部对象提供了统一的对象描述。 同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的属性值 相同。 让我们再会到洗衣机的例子。如果指定洗衣机类具有 brandName﹑modelName﹑serialName﹑和capacity等属性,还有 acceptClothes()﹑acceptDetergent()﹑turnOn()和turnoff()等操作的 话,你就有了制造WashingMachina类新实例的机制。也就是说,可以基于 洗衣机这个类创建新的对象。 记住面向对象的目标是开发出能够反映现实世界某个特定片段的软件(或者说 是“建模”)。你考虑到的属性和行为越多,你所建立的模型就越符合实际。 在洗衣机的例子中,如果你在洗衣机类中包括drumVolume(洗涤缸容量 )﹑trap(水阀)﹑motor(马达)﹑motorSpeed(马达转速)等属性的话, 洗衣机模型就更精确。 在面向对象的世界里,类除了起到分类的作用外,类还是用来创建对象的模板 。如可以把类看成是加工小甜饼的模子,你可以用来压出新的小甜饼对象
些面向对象的概念 面向对象还包含对象的其它方面,这些方面包括 抽象( abstraction 继承( inheritance) 多态( polymorphi ISn 封装( encapsulation) 其他三种重要面向对象概念是 消息传递( message se 关联(aocs) hding) 聚集( aggregation
Page 5 一些面向对象的概念 面向对象还包含对象的其它方面,这些方面包括 抽象(abstraction) 继承(inheritance) 多态(polymorphism) 封装(encapsulation) 其他三种重要面向对象概念是 消息传递(message sending) 关联(association) 聚集(aggregation)