第一章面向对象程序设计概述本章要点一面向对象和面向对象程序设计.ppt

第一章面向对象程序设计概述本章要点一面向对象和面向对象程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章面向对象程序设计概述本章要点一面向对象和面向对象程序设计

第一章 面向对象程序设计概述 本章要点 一 面向对象和面向对象程序设计 二 面向对象程序设计的基本概念 三 面向对象软件的重要特性 四 面向对象的软件开发技术 一 面向对象和面向对象程序设计 1 什麽是面向对象 对象(object)– 任何可以被感觉到的事物。 面向(oriented)– 直接面对。 面向对象(Object Oriented)– 直接面对你能感觉到 的任何事物。 面向对象编程(Object Oriented Programming)– 将软件视为是由一群相互关联和相互作用的对象 所组成的整体: 这些对象具有独立的属性和行为,并能理解从其 他对象发出的消息,并以适当的行为作出响应, 从而实现软件的整体功能。 面向对象编程就是直接面对软件所要模拟的客观 世界中的事物,将它们直接映射到软件系统的解 空间中,成为组成软件的对象。 2 面向对象程序设计 ⑴ 面向过程程序设计(Procedural Programming) ? 自顶向下、逐步求精的结构化设计原则; ? 程序由结构化的功能模块和数据模块组成; ? 面向数据或面向过程的设计方法; ? 程序由数据定义和操作过程定义、以及按照这些 定义生成的数据实例和施加于数据实例的操作组 合组成; ? 数据与操作的分离,容易产生数据的失配操作、 不易提高程序的重用性、维护和扩展困难。 例如,一个学校管理软件中可以包含如下的数据结构和操作: typedef struct student typedef struct teacher { { char name[10]; char name[10]; long num; double salary; int age; int age; char sex; char sex; } student; } teacher; void enroll(student* ptr) void raise(teacher* ptr) { { ... … ptr-num++; ptr-salary += 100; } } void print(student* ptr) void print(teacher* ptr) { { ... … } } main() { ... student Zhang; // 定义学生数据模块 teacher Li; // 定义教师数据模块 enroll(Zhang); // 操作与被操作数据匹配 enroll(Li); // 操作与被操作数据失配 print(Zhang); // 操作与被操作数据匹配 ... } ⑵ 面向对象程序设计(Object Oriented Programming) ? 吸取结构化程序设计的一切优点,又考虑了所模 拟的现实世界与程序解空间的直接映射关系; ? 采用数据抽象和信息隐藏技术使得数据和(施加 于数据的)操作成为不可分割的整体; ? 程序由类定义、类实例(对象)和对象之间的动 态联系组成; ? 程序的重用性好、易于维护和扩展 ? 较好地解决了软件复杂性控制和生产率的提高。 用面向对象的设计方法实现前例的功能: class student // 类定义 { // 属性 char name[10]; long num; int age; char sex; public: // 方法 void enroll(){ ... }; friend ostream operator(ostream out, student stud) { ... }; ... }; class teacher // 类定义 { // 属性 char name[10]; double salary; int age; char sex; public: // 方法 void raise(){ ... }; friend ostream operator(ostream out, teacher teach) { ... }; ... }; main() { ... // 类实例 —— 对象 student Zhang; teacher Li; // 对象方法调用 Zhang

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档