(9)--3 面向对象基础知识2-面向对象的核心元素-面向对象与UML.pdf
《(9)--3 面向对象基础知识2-面向对象的核心元素-面向对象与UML.pdf》由会员分享,可在线阅读,更多相关《(9)--3 面向对象基础知识2-面向对象的核心元素-面向对象与UML.pdf(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 面向对象与面向对象与UML Object-Oriented and UML 面向对象基础知识面向对象基础知识 面向对象基础面向对象基础 面向对象的核心元素面向对象的核心元素 根据根据Coad 和和 Yourdon 的定义,按照以下的定义,按照以下4个概念设计和实个概念设计和实现的系统,称为是面向对象的。现的系统,称为是面向对象的。面向对象面向对象=对象对象(object)+类类 (classification)+继承继承(inheritance)+通信通信(communication with messages)什么是面向对象?什么是面向对象?面向对象的核心元素面向对象的核心元素 对象对象
2、类类 抽象抽象 封装封装 继承继承 接口接口 多态性多态性 消息消息 结构与连接结构与连接 什么叫问题域?什么叫问题域?开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称为开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称为该软件的问题域。该软件的问题域。例如:教务管理系统例如:教务管理系统 不同问题域中同一实体描述的角度可能不同。不同问题域中同一实体描述的角度可能不同。例如:学生例如:学生 问题域的范围也对软件开发的复杂程度有一定的影响。问题域的范围也对软件开发的复杂程度有一定的影响。问题域问题域 面向对象的核心元素面向对象的核心元素-对象对象 客观世界里的任何实体都可以被称
3、为客观世界里的任何实体都可以被称为对象对象。软件中的对象是与应用问题(问题域或实现域中)有一定关联的某个事物,软件中的对象是与应用问题(问题域或实现域中)有一定关联的某个事物,是事物的一种是事物的一种抽象描述抽象描述。不同的角度和不同的问题域对一个对象的描述有不同的角度和不同的问题域对一个对象的描述有所不同。所不同。对象是一个封装对象是一个封装数据属性和操作行为数据属性和操作行为的实体。的实体。面向对象的核心元素面向对象的核心元素-对象对象 对象可以是具体的、有形的物,也可以是无形的事物或概念。对象可以是具体的、有形的物,也可以是无形的事物或概念。面向对象的核心元素面向对象的核心元素-对象对象
4、 对象的标识(名字)对象的标识(名字)对象的状态(属性描述和属性值)对象的状态(属性描述和属性值)对象的行为(操作行为)对象的行为(操作行为)no1 no2 no3 面向对象的核心元素面向对象的核心元素-对象对象 UML中的对象表示:对象名下有下划线中的对象表示:对象名下有下划线 J Clark:Professor:Professor1.命名对象命名对象 2.匿名对象匿名对象 对象名对象名 对象名:类名对象名:类名:类名:类名 面向对象的核心元素面向对象的核心元素-类类 类是对一类具有相同特征的对象的描述类是对一类具有相同特征的对象的描述 类共享相同的属性、操作、关系,以及用来描述对象集合类共
5、享相同的属性、操作、关系,以及用来描述对象集合的语义,并定义每个对象的结构和行为。的语义,并定义每个对象的结构和行为。类类(Class)封装了数据和行为封装了数据和行为 面向对象的核心元素面向对象的核心元素-类类 类的属性类的属性 属性是类的特征或特性。属性是类的特征或特性。属性的值是某一特定对象的属性的值是某一特定对象的属性值,不同对象属性值可以有所不同。属性值,不同对象属性值可以有所不同。类类的行为(的行为(操作、操作、方法)方法)操作访问或修改对象的属性值。操作访问或修改对象的属性值。(封装性)(封装性)一个类的所有对象都可以使用在这个类中定义的操作。一个类的所有对象都可以使用在这个类中
6、定义的操作。银行帐户类银行帐户类属性属性 帐号帐号 银行名称银行名称 拥有者拥有者 金额金额 Mary的银行帐户属性值的银行帐户属性值 帐号帐号=12345678 银行名称银行名称=First National Bank 拥有者拥有者=Mary Smith 金额金额=$1024.48 类类 对象对象 面向对象的核心元素面向对象的核心元素-类类 属性和操作取决于视点属性和操作取决于视点(问题域)问题域)从从维修人员维修人员的角度的角度 马达类型马达类型 传动类型传动类型 维修记录维修记录 从从销售人员销售人员的角度的角度 型号型号 价格价格 颜色颜色 里程数里程数 一辆汽车具有的操作?一辆汽车具
7、有的操作?从从销售人员销售人员的角度的角度 处理客户定单处理客户定单 准备销售合同准备销售合同 加入清单加入清单 从清单中删除从清单中删除 从从维修人员维修人员的角度的角度 测试刹车测试刹车 修理刹车修理刹车 转动轮胎转动轮胎 检查马达速度检查马达速度 一辆汽车具有的属性?一辆汽车具有的属性?面向对象的核心元素面向对象的核心元素-抽象抽象 抽象是抽取对问题域有帮助的对象属性和行为。抽象是抽取对问题域有帮助的对象属性和行为。抽象是从众多的事物中抽取出共同的、本质性的特征抽象是从众多的事物中抽取出共同的、本质性的特征。问题域不同,抽象程度不同,抽象结果也不同。问题域不同,抽象程度不同,抽象结果也不
8、同。计算机与控制工程学院计算机与控制工程学院 郭艳燕郭艳燕 面向对象的核心元素面向对象的核心元素-封装封装 封装的含义封装的含义 数据抽象(对象属性和方法的结合)数据抽象(对象属性和方法的结合)信息隐藏信息隐藏 封装的目的封装的目的 将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,只需用设计者提供的消息来访问该对象。只需用设计者提供的消息来访问该对象。把定义和实现分开,可以大大提高软件的可维护性、可修改性。把定义和实现分开,可以大大提高软件的可维护性、可修改性。可见性问题可见性问题 public:+protecte
9、d:#private:-friend 友元友元 面向对象的核心元素面向对象的核心元素-继承继承 继承继承指子类自动获得父类中定义的指子类自动获得父类中定义的数据、数据、方法和关系,方法和关系,并可以添加新的成员的机并可以添加新的成员的机制。制。起始类称为起始类称为基类、超类、父类或者泛化基类、超类、父类或者泛化类类,而继承类称为,而继承类称为派生类、子类或者特派生类、子类或者特化类化类。继承可以帮助我们借助已知和熟悉的事继承可以帮助我们借助已知和熟悉的事物理解新的事物。物理解新的事物。继承可提高软件的继承可提高软件的可复用性可复用性。面向对象的核心元素面向对象的核心元素-继承继承 继承简化了对
10、现实世界的描述,定义子类时只需专注于自己特有的属继承简化了对现实世界的描述,定义子类时只需专注于自己特有的属性和操作。性和操作。家用电器家用电器 洗洗 衣衣 机机 电电 视视 机机 电电 冰冰 箱箱 微微 波波 炉炉 基类(父类):具有开关、基类(父类):具有开关、电线等属性和开机、关机等电线等属性和开机、关机等操作。操作。派生类(子类):具有除父派生类(子类):具有除父类中属性以外的特殊属性和类中属性以外的特殊属性和操作。操作。继承继承 面向对象的核心元素面向对象的核心元素-继承继承 继承具有传递性。继承具有传递性。继承关系表示类之间的层次关系。继承关系表示类之间的层次关系。类间具有共享特征
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 9-3 面向对象基础知识2-面向对象的核心元素-面向对象与UML 面向 对象 基础知识 核心 元素 UML
限制150内