第1章 面向对象编程的原理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 面向对象编程的原理

第一章 面向对象编程的原理 软件危机 如何表示现实实体 如何设计开放接口 如何保证可重用性和可扩展性 如何开发能适应变化 如何开发能提高开发效率 如何提高软件质量 如何管理开发计划 如何让软件开发实现产业化 软件质量 正确性 可维护性 可重用性和可扩展性 开放性和互用性 可移植性 安全性 完整性 用户界面友好程度 第8章类 0面向对象的概述 1 结构 2 类 3 静态成员与友员 4 构造函数与析构函数 面向过程编程 面向过程的程序设计方法本质上是过程驱动的。虽然在处理问题的方法上符合人们思考问题的规律,但它将数据与操作数据的函数分离开来,未能如实地反映客观世界的规律。事实上,客观世界中的事物总是分门别类的。每个类有自己的数据与操作数据的方法,二者是密不可分的。 面向对象程序设计 面向对象程序设计的基本思想是现实世界由各种对象组成,任何客观存在的事物都是对象,复杂的对象是由简单对象结合而成的。面向对象程序设计的基石是:类和对象。类是具有相同属性结构和操作行为的一组对象共性的抽象;对象是描述客观事物的属性结构及定义在该结构上的一组操作的结合体。在此,程序被描述为: 程序 =(对象 + 对象 + …) 对象 =(数据结构 + 算法) 对象之间通过消息和方法机制完成相应的操作。 程序员根据具体情况,先设计一些类。每个类有数据成员和操作这些数据的成员函数。然后,定义各个类的对象,并将数据赋给各个对象。对象的数据是私有的,外界只能通过公有的成员函数才能访问该对象的数据。这样就保证了数据的安全性,而且程序员也易于对数据进行跟踪。类的继承性使得每一个新类得以继承基类、父类的全部属性和方法,并加入自己特有的属性和方法,从而使得代码的重用成为可能。类对数据结构和算法的绑定使得程序便于修改和调试,便于程序的维护和扩充。 每个对象是数据和操作代码的完整结合体。各个对象通过消息传递而相互作用。所以,面向对象的程序本质上是事件驱动的。这一点很重要,它使得一个原先很复杂的程序变得简单清晰。这种优势在可视化程序设计中极为明显,如图1.2所示。 基本概念 1. 面向对象   面向对象是一种认识客观世界的世界观,是从结构组织角度模拟客观世界的一种方法,人们在认识和理解现实世界的过程中,普遍运用以下三个构造法则:    (1) 区分对象及其属性,如区分车和车的大小;    (2) 区分整体对象及其组成部分,如区分车和车轮;    (3) 不同对象类的形成及区分,如所有车的类和所有船的类。 2. 对象(Object)   对象是对一组信息及其上同的操作的描述。如: 一辆汽车是一个对象,它包含了汽车的信息(如颜色、型号、载重量等)及其操作(如启动、刹车等); 一个窗口是一个对象,它包含了窗口的信息(如大小、颜色、位置等)及其操作(如打开、关闭等)。 3. 属性(Property)   即对象所包含的信息。 如:窗口的宽度(form1.width) 属性可以在设计对象时确定,也可以在程序运行时读取和修改(如: W=form1.width; form1.width=100)。 面向对象程序设计的特征 抽象性 ---- 许多实体的共性产生类; 封装性 ---- 类将数据和操作封装为用户自定义的抽象数据类型; 继承性 ---- 类能被复用,具有继承(派生)机制; 多态性 ---- 具有动态联编机制。 面向过程以算法为中心,由算法完成对数据的操作,面向对象技术是以属性为中心,以消息和方法机制完成对对象的操作,对象作为数据而不是作为过程被描述。继承指的是子类继承父类的数据结构和方法,并加入自己所特有的信息,构成新的类,它是父类和子类之间信息关联的一种机制;多态体现在程序运行过程中,不同对象收到相同消息产生完全不同的结果的现象。继承和多态是面向对象特有的要素。 面向过程与面向对象两者要素对应关系 * 图1.1 程序 =(模块 + 模块 + …) 模块 =(算法)+(数据结构) 在面向过程的程序中,所有数据是公开的。一个函数可以使用和改变任意一组数据,而一组数据又可能被多个函数使用。这种数据与运算相分离的结果失去了数据的安全性。一旦数据结构发生变化,相关的算法也必须随之改动。对于相同的数据结构,若操作不同,也要编写不同的程序。因此,面向过程的程序代码重用性不好。程序模块的划分,因人而异,缺乏统一的标准,为程序员之间的交流带来诸多不便。另外,面向过程程序设计的逐步细化过程前后关系密切,描述符号不同,一旦先期需求改变,将直接影响后继需求分析的描述,给程序的维护带来诸多不便。 图1.2 4. 方法(Methord)   即对象所因有的各种操作。   如:窗口关闭(form1.close)   这种操作的过程对外是封闭

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档