- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07 面向对象中的编程安全.ppt
第七章 面向对象中的编程安全 面向对象(Object Oriented,OO)是目前最流行的软件开发方法之一,也是当前计算机软件工程界关心的重点,从90年代开始,它就慢慢变成了软件开发方法的主流。目前,面向对象的概念和应用,已经不仅仅集中于程序设计和软件开发,而是扩充到计算机应用的其他应用场合,如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。 面向对象强调人类在日常的思维逻辑中经常采用的思维方法与原则,其中的重要概念如抽象、分类、继承、聚合、多态等,都和我们的生活息息相关,这也成为面向对象思想流行的原因。本章主要介绍面向对象中的安全编程。涉及面向对象,内存的分配与释放,静态成员安全等几个方面。 7.1 面向对象概述 7.1.1 面向对象基本原理 面向对象,可以说是目前最流行的软件开发方法之一,目前大多数的高级语言都支持面向对象,该思想也是用日常生活中的现象开模拟软件开发的过程。面向对象包括两个方面的范畴: ?? 面向对象方法学; ?? 面向对象程序开发技术。 其中,面向对象方法学是面向对象程序开发技术的理论基础。从面向对象方法学的理论,可以设计出类似人类思维方式和手段的面向对象程序设计语言,从而延伸出面向对象程序开发技术,使得程序开发过程非常类似于人类的认知。通过面向对象的方法学和面向对象的程序开发技术开发出的软件,具有模块化特色突出、可读性强、易维护性强等优点。 在面向对象的方法学中,基于人类对客观世界的认知规律、思维方式和方法,提取出针对软件开发的如下抽象认识: ?? 客观世界由各种各样的实体组成,各自发挥作用,相互进行通信,这些实体称为对象; ?? 每个对象都保存了各自的内部状态,具有一定的功能动作;由于外界其他对象或者外部环境的影响,对象本身依据通信机制,根据具体情况作出不同的反应; ?? 多个相似对象,如果属性和功能动作性质类似,可以将其划分为一类;类与类之间可以有继承关系; ?? 复杂的对象可以由相对简单的对象通过一定的方式组合而成; ?? 对象之间可以通过各种方法进行通信;等等。 总而言之,一系列简单或复杂的对象进行组合,其问的相互作用和通信,构成了各种系统,构成了人们所面对的客观世界。 7.1.2 面向对象的基本概念 不管什么样的语言,只要支持面向对象,实际上是利用了面向对象基本思想,其中,最基本的概念有以下几个: 1:对象(Object)。对象构成客观世界的一个个实体,从最简单的字符串到复杂的软件系统等,均可看作对象,广义上,对象不仅能表示具体的实体,还能表示抽象的规则或事件等。 对象具有两个方面的特点: 能够保存一定的状态,由“属性(attribute)”来表达; 能执行一定的动作,“方法(method)”来表达。 2:类(class)。类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所应具有的属性和方法。多个对象的抽象成为类,类的具体化就是对象,通常的说法,创建一个对象实际上就是将类实例化。 3:消息和方法。消息是指对象之间进行通信的数据或者数据结构。在通信的过程中,一个消息发送给某个对象,实际上相当于调用另一个对象的方法,消息可以是这个方法的参数。 4:继承(Inheritance)。继承性是指子类自动共享父类属性和方法的机制。继承的思想来源于:在定义和实现一个新的类时,可以将一个已经存在的类作为父类,新类的定义在这个父类的基础之上进行,把这个父类中的属性和方法作为自己的属性和方法,并可加入若干新的属性和方法。继承性是面向对象程序设计语言不同于其它语言的重要特点,是其他语言所没有的。 在类的继承中,如果子类只继承一个父类的属性和方法,称为单重继承;如果子类继承了多个父类的属性和方法,称为多重继承。有些语言(如C++)支持多重继承,有些语言(如Java)不支持多重继承。 在软件开发的过程中,类和类之间的继承,对于信息的组织与分类,非常有用,它简化了对象、类的创建,增加了代码的可用重性,使建立的软件具有良好的可扩充性和可维护性。 5:多态(Polymorphism)。多态,是指不同类型对象,收到同一消息(调用同一个函数等),根据其类型,可以产生不同的结果。在面向对象语言中,一般具有两种形式的多态: 静态多态,一般指函数重载; 动态多态,一般利用继承和函数覆盖。 有了多态性,不同对象可以以适合自身的方式,去响应相同的消息,增强了软件的可扩展性和和重用性。 6:封装(Encapsulation)。封装,保证了软件的每个组成部分具有优良的模块性,通过定义外部接口使模块之间的耦合性达到最小。 在面向对象的语言中,对象是封装的最基本单位,增加了程序结构的清晰性,防止了程序相互依赖性而带来的变动影响。
您可能关注的文档
最近下载
- 2023届高考数学一轮复习专题:三角函数有关w的值及w取值范围的求法题型总结.docx
- 2024新湘艺版音乐七年级上册第二单元 汉族民歌 课件.pptx
- 教师资格证小学科目二默写本《教育知识与能力》.pdf VIP
- 江苏省淮安市淮安区2022-2023学年统考八年级上学期期中数学试卷 .docx
- GB-T17167-1997企业能源计量器具配备和管理导则.pdf
- 【优质】某地区一级水电站建设项目可行性研究报告-优秀甲级资质可研报告180页.doc
- 灶具成品检测标准.pdf
- 腹股沟疝(共27张PPT).pptx
- 部编版小学语文五年级上册第四单元整体解读与教学建议.doc
- 幼儿园 中班数学《10以内的倒数》.ppt VIP
文档评论(0)