- 1、本文档共179页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
;;;;;;;;;;图7.2软件系统外部功能和内部结构之间的关系;图7.3软件系统外部功能和内部结构关系的例子;;面向对象程序语言中的类是一个代码的预定义模块或者程序结构元素,类似于函数、结构体或者记录类型定义,其中包含了相关的变量和函数定义。类中的变量称为属性或者成员变量;类中的函数称为成员函数(操作和方法)。操作和方法的区别在于:操作强调其操作接口,方法那么强调实现方式和算法。可以把现实世界中的对象映射为程序语言中的类,有时候这种映射比较困难且不明显,那么可在其间增加一个概念世界或者概念模型。这种映射的过程即为面向对象的系统分析,如图7.4所示。;图7.4现实世界向计算机世界的转换;现实世界中的对象一定能够抽象成类,但程序语言中的类那么不一定有现实世界原型。这种不对称性反映了信息系统的特殊性,即程序模型并不一定是现实世界的原始或者简单的等价。因为现实世界中的任何事物都可以被抽象为类,因此可以把面向对象看成是一种世界观和方法论,在这种世界观和方法论根底上,现实世界被转换成程序世界就显得比较自然。例如:企业中的员工、仓库、库存帐目、商品及类别、物体、力等。;在程序设计语言中,类是一个完整的、独立的、可重用的,具有低耦合、高内聚特性的程序模块。类相当于一种自定义数据类型,它类似于C语言中的结构体类型(C++本身就可以使用strut关键字来定义类),不仅包含数据结构也包含操作结构。数据类型作为程序语言中进行变量内存分配、类型匹配、操作检查的根底,为程序的一致性和平安性提供了重要的保证。因此,类概念的引入从类型角度进一步提高了程序的平安性。;7.2.2对象及对象实例
现实世界中的具体事物就是对象或者对象实例,类那么是对象实例的结构抽象。
每个对象实例一般具有三方面的特性(亦称对象“三要素〞):
(1)确定的标识,能够被唯一地确认。
(2)具有一定的属性,表示其性质或状态。
(3)具有一定的行为能力或者操作能力,可给外界提供效劳或者通过操作改变其状态。;对象标识也是对象属性之一,是一类特殊的属性,类似于实体关系模型中的主码。应当注意,对象标识和对象在程序中的标识是不一样的,前者是对象本身的固有属性,后者是在程序空间中给该对象起的名字,仅供程序中使用。现实世界中的任何事物都可以抽象成对象,例如具有具体物质形态的对象,如员工、计算机、汽车等;具有抽象物质形态的对象,如银行账户、力等。;面向对象本身就是一种世界观以及由此派生的方法论,是一种观察世界和认识世界的方式。在面向对象的世界观中,世界是由对象及其关系组成的,对象是由属性和行为组成的,对象之间具有各种各样的联系。类是对象结构的抽象,关系是对象之间联系的抽象。对象世界的开展变化过程就是对象之间的交互过程(面向过程也是一种世界观,认为世界是由过程组成的,每个过程都有自己的目标和处理的对象)。面向对象的世界观中的属性和操作刚好对应了程序世界中保存数据或者状态的变量和实现一定功能的函数。属性是事物的性质和状态描述;行为是对属性的操作,可以对外提供效劳,属性那么是行为的根底和操作的内容。;;从静态角度来看,对象实际上就是由类(包括数据结构和函数结构定义)模板派生的变量;从动态角度来看,对象之间的交互(包括自交互)完成或者实现了功能。在面向对象程序中,类是一种代码模板定义,它类似于函数结构和数据结构,必须要实例化才能使用。实例化就是使用类创立具体的对象变量(也叫对象实例),由类产生对象变量相当于在工厂中使用模具生产产品。在程序中只有创立了具体的对象变量,系统才会给其分配内存,程序才能访问其属性和操作。;由于对象变量占用的内存空间不固定,其内存分配方式多采用动态分配和回收机制。在面向对象程序设计语言中,除了对象变量本身,还有一种引用变量(referencevariable),其本质上是指针或者地址,可以指向对象变量,其类型必须是一致的。通过引用变量访问对象变量简化了对动态分配的对象内存空间的访问。如Student是Java语言中定义的类,语句Students=newStudent();声明了一个引用变量s,创立了一个对象变量newStudent(),并通过赋值语句将该对象变量所在的内存区域的首地址存放到s中,通过s可以对此内存区域进行操作。一般来说,引用变量和对象变量是在不同的内存空间中,前者存放在堆栈空间中,后者是放在堆空间中,这两种内存空间所允许的操作是有所不同的(如图7.5所示)。;图7.5引用变量和对象变量之间的关系;7.2.3消息机制
纯面向对象程序设计语言如Java中,所有的函数或者操作都依附于一个对象主体,这种依附于某个对象的函数叫做成员函数或者对象操作(方法)。在纯面向对象
您可能关注的文档
最近下载
- GB_T 42615-2023 在用电梯安全评估规范.pdf
- 标准规范文件:AGMA6011-I03-美标-高速齿轮技术规范.pdf
- 残疾人心理危机排查与干预工作方案.docx
- 人教版科学四年级下册第一章第3课《凸透镜成像》ppt课件2.ppt
- 2023中国城市地下空间发展蓝皮书.doc
- 技工院校幼儿教育专业教学计划和教学大纲.docx VIP
- (高清版)BT 20473-2021 建筑保温砂浆.pdf VIP
- 聚酯纤维羽绒混合物保暖性能相关性研究.pdf VIP
- 非煤矿山外包工程安全生产管理协议「标准版」.docx VIP
- 中学生物-A1技术支持的学情分析-教学设计+学情分析【微能力认证获奖作品】.docx
文档评论(0)