第十五讲面向对象程序设计和C++.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
class Teacher: public People // Teacher类的声明 { public: // 公有成员 Teacher(); // 构造函数 ~Teacher(); // 析构函数 bool IsTeaching(); // 查询是否授课 …… private: // 私有成员 …… protected: // 保护成员 bool m_bIsTeaching // 是否授课 …… }; 类的声明举例——Teacher类 class Student : public People { public: Student(); // 构造函数 ~Student(); // 析构函数 int GetNumber(); // 查询学号 bool SetNumber(int n); // 设置学号 …… private: …… protected: int m_nNumber; // 学号 …… }; 类的声明举例——Student类 在程序中同一符号或名字在不同情况下具有不同解释的现象称为多态性(Polymorphism)。在面向对象程序设计语言中,由程序员设计的多态性由两种基本形式:编译时多态性和运行时多态性。许多程序设计语言都或多或少地支持多态性,但运行时多态性是面向对象程序设计语言的一大特点。 多 态 编译时多态性是指在程序编译阶段即可确定下来的多态性,主要通过使用重载(Overloading)机制获得,重载机制包括函数重载和运算符重载两大类。 举一个C++中的例子: int Abs(int x); double Abs(double x); cout<<Abs(-4)<<endl; //调用int Abs… cout<<Abs(3.2)<<endl;//调用double Abs… 运行时多态性是指必须等到程序动态运行时才可确定的多态性,主要通过继承结合动态绑定获得。 动态绑定也称晚绑定,它也是面向对象的重要特点之一。动态绑定的使用可以提高程序的可用性和可扩展性。 八十年代末以来,由Booch,Coad,Yourdon,OMT,Jacobson等人提出的多种面向对象方法在已经得到了广泛的应用。面向对象方法中的三种基本活动就是: (1) 识别对象和类 (2) 描述对象和类之间的关系 (3) 通过描述类的功能定义对象的行为 面向对象方法 科德将对象模型分为下面四个部件,也就是将对象分为了四组: (1)问题域PD(problem domain) (2)人机交互HI(human interaction) (3)数据管理DM(data management) (2)系统交互SI(system interaction) 科德(Coad)方法 问题域问题(PD)通常最先考虑,因为用户往往最关心为自己的商业问题建模。问题域部件包含与需要建模的问题直接有关的对象。问题域部件的对象技术上呈现中型,它们几乎不了解或完全不了解人机交互、数据管理和系统交互部件的对象。 人机交互部件(HI)包含为问题域对象和人们之间提供界面的对象。在对象模型中,人机交互部件的对象通常对应具体的窗口和报表。 数据管理部件(DM)包含为问题域对象和数据库系统或文件管理系统之间提供界面的对象。在对象模型中,数据管理部件的对象通常对应某些需要保存及搜索的问题域对象。 系统交互部件(SI)包含为问题域对象和其它系统或设备提供界面的对象。系统交互对象封装了通信协议,使得问题域对象不需要了解底层的实现细节。 科德的面向对象方法包括一下四个活动: (1)确定系统的目标和特点 (2)确定四种模型部件的对象和模式 (3)建立对象责任 (2)定义服务场景以完成特定服务责任 三、 C++语言 C与C++的比较 C++中的数据类型 C++程序框架 类和对象 类的声明、实现、继承、多态性 举例 C 语 言 C语言的优点: 与硬件无关,可移植性强 语言简洁,使用方便 丰富的运算符和数据类型 可直接访问内存地址 能进行位操作 目标代码质量高,运行效率高 C语言的弱点: 检查机制弱,编译时不能发现编程错误 面向过程的语言,没有支持代码复用的机制 很难控制大规模程序的复杂性 C++ 语 言 是C的超集,保持了与C的兼容性 继承了C语言高效性、灵活性的特点 扩充了对面向对象程序设计和高层次问题抽象方法的支持,是面向对象程序设计语言之一 完善了C语言的类型检查、代码重用、数据抽象机制,便于大规模软件开发 既反映了结构化程序设计方法,又反映了面向对象程序设计方法 #include <iostream.h> // 预编译命令 void mai

文档评论(0)

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

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

1亿VIP精品文档

相关文档