第三章 (二) 程序设计基础-----面向对象程序设计课件.pptVIP

第三章 (二) 程序设计基础-----面向对象程序设计课件.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7、继承的优势 能清晰体现相关类间的层次结构关系。 有效的提高了程序的可重用性,减小了程序代码的冗余度。 增强了程序的一致性,减少了程序模块间的接口和界面,使程序更易维护。 继承是自动传播程序代码的有力工具。 继承是新类构造、建立和扩充的有效手段。 继承具有传递性 如果类C继承类B,类B继承类A,则类C继承类A “站在巨人的肩头上”。用户在开发新系统时不必从零开始,可以继承原有相似功能或者从类库中选取需要的类,再派生新类。 1.2.3继承 例1:车辆的继承关系 客车 车辆 非机动车 卡车 轿车 机动车 例2:人类按职业划分的一种继承关系 人 学生 工人 教师 农民 中学生 大学生 研究生 讲师 教授 1.2.3 继承 8、两个继承的案例 客车 车辆 非机动车 卡车 轿车 机动车 1、多态polymorphism 对象根据所接受的消息而做出动作,同样的消息为不同的对象接受时可导致完全不同的行动,该现象称为多态性。 简单的说:单接口,多实现 举例: sqrt (int i),sqrt (float f) 作用: 减轻程序员负担 降低程序员出错机率 1.2.4 多态 2、多态性的实现 运行时多态性:虚函数 编译时多态性:重载 重载 函数重载:是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。 运算符重载:是指同一个运算符可以施加于不同类型的操作数上面。 优点:重载进一步提高了面向对象系统的灵活性和可读性 1.2.4 多态 3、多态的一个案例 图中同名函数area( )作用在Circle、Triangle等不同类上时,将执行不同的操作,这就是多态。 1.2.4 多态 1、面向过程程序设计的基本特点 按层次组织模块。 代码和数据分离,即程序=数据结构+算法。 方法:自顶向下,逐步求精,模块化 1.3 面向对象与面向过程程序设计 2、面向对象程序设计 它将数据和操作数据的过程(函数)绑在一起,形成一个相互依存、不可分离的整体(即对象),从同类对象中抽象出共性,形成类。 同类对象中的数据原则上只能用本类提供的方法(成员函数)进行处理。类通过封装将接口与实现分离开来,通过接口与外界联系。对象之间通过消息进行通信。 1.3 面向对象与面向过程程序设计 3、两种程序方法的对比 1.3 面向对象与面向过程程序设计 面向对象程序设计将数据和操作数据的程序代码绑在一起构成对象具有更好的可维护性,因某类对象数据的改变只会引起该类对象操作代码的改变,而与其他类型的对象无关,这就把程序代码的修改维护局限在一个很小的范围内。 1.4 面向对象程序设计语言 1、面向对象程序设计语言的基本情况 最早最成熟的领域 萌芽于60年代(Simula),成熟于80年代 70年代,纯面向对象语言,smalltalk 常见面向对象的语言 Java:纯面向对象的语言 VB.Net:可视化程序设计 C#:具有VB和VC++的特征 C++,Pascal 其它常用的具有面向对象特征的语言 Borland Delphi、PowerBuilder、Visual FoxPro …… * 机制:将解决问题的重点放在如何实现细节过程方面,将数据与操作这些数据的函数分开,围绕功能实现或操作流程来设计程序。 形式:主模块+若干个子模块(main()+子函数) 它们之间以数据作为连接 特点:自顶向下,逐步求精——功能分解 程序=算法+数据结构 缺点:由于数据与操作这些数据的代码(函数)相分离,一旦数据改变,则需要重新编写函数。程序功能扩充时,需大量修改函数,效率低,是手工作坊式的编程。 * 面向对象的观点:认为自然界是由一组彼此相关并能相互通信的实体(对象)所组成。 面向对象的程序设计方法:使用面向对象的观点来描述现实问题,然后用计算机语言来模仿并处理该问题。 要求:描述或处理问题时应高度概括、分类、和抽象。 目的:实现软件设计的产业化。 结构化程序设计与面向对象的区别? 1. 功能,首先最根本的是设计思想,一个是以对象为基本单元,用对像的使用来完成程序。后者是基于过程的设计,比如你要做一个赛车的函数,在利用面向对象设计时,你先写好轮子类,发动机类,方向盘类。。。再将他们组合起来。而面向结构化则只是写你操作赛车时要进行的动作。 2.然后是他们的适用范围,越来越多的应用程序,特别是web程序,选择使用面向对象设计,有利于代码重用,消除BUG等等,但基层的程序大多会选择面向结构化的程序。 第3章 面向对象程序设计概述 本章主要讲述: 计算机程序语言的发展演变过程 面向对象程序技术的基本特征 面向过程与面向对象程序设计 C++程序的结构及数据输入与输入 VC++实例编程 1.1 计算机程序设计语言的发展

文档评论(0)

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

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

1亿VIP精品文档

相关文档