C++面向对象程序设计第01章.pptVIP

  1. 1、本文档共58页,可阅读全部内容。
  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文档。上传文档
查看更多
C++面向对象程序设计第01章.ppt

《面向对象程序设计与Visual C++6.0教程》 《面向对象程序设计与Visual C++6.0教程》 C++面向对象技术程序设计 主讲教师:吴芸 Email:ywu@ QQ:1204696681 一、对象 对象是我们认识世界的一些基本单元(人或物等) 例【1.1】观察学生对象。如下表: 对象:是既包括属性(状态)数据,又包括作用于属性数据的一组操作的封装体。 属性:对象的属性数据或状态数据通常称为属性。 方法/服务:对象的能力(功能),即能实现的操作称为方法或服务。 注:在C++语言中,属性称作数据成员,服务/方法称为成员函数。 二、 类 如例【1. 1】,对象“张三”、“李四”…,具有相同的一些属性、操作,将其抽取具体所描述的数据,可抽象为一个类别——类:即学生类。 如例【1.2】, “确定”、“取消”按钮等可抽象为一个类——命令按钮类。 类就是具有相同的属性和相同的操作的一组对象的抽象。 由此可知: 类是对象的抽象(如“学生”是对张三、李四等的抽象,“命令按钮”是对确定、取消等的抽象); 对象是类的实例(如张三是“学生”的一个实例,确定是“命令按钮”的一个实例)。 在实际应用中,先定义一个类,然后再定义一个个具体对象。 在面向对象程序设计中的定义:类是创建对象的样板,它包含对创建对象的状态描述及操作行为的说明;对象是类的实例化(对象变量、对象数组等) 三、 消息 ㈠ 概念 消息(Message):是描述事件发生的信息,是一个对象向另一个对象发出的请求。 消息传递:面向对象程序设计技术所提供的一种允许一个对象与另一个对象交互的机制。 ㈡组成 1.接受消息的对象; 2.消息名; 3.零个或若干个参数。 消息的三个性质 同一个对象可以接受不同形式的多个消息,产生的消息各不相同; 相同形式的消息可以发送给不同的对象,产生的响应可以各不相同; 一个对象可以立即响应发送给它的消息,也可以暂时不予响应消息。 面向对象系统的最突出的特性: 1)抽象性 2)封装性 3)继承性 4)多态性 1)抽象 数据的抽象是对数据进行实例分析,抽取其共同性质的结果。如: “学生”对象,先对一些学生实例进行分析,确定他们的共同特性或主要特性(姓名、性别、年龄、专业等),忽略不同点或次要的引不起兴趣的那些特性(长相差异、性格差异等)。 2) 封装 将数据结构以及作用于数据结构上的操作组成一个实体,把数据的表示方式及操作细节隐藏起来,用户通过接口对数据进行操作。这样,用户就只知道操作接口对该数据进行操作,而不知道内部是如何做的以及如何表示的—数据的封装。 例【Temp113】银行帐户的抽象与封装 分析: 用户关心的问题:存款、取款、转帐、查询、修改密码 数据结构:业主、帐号、余额、利息、密码等 结论:抽象是抽取数据共同性质的结果,而封装则是隐蔽了抽象的内部实现细节的结果,是将数据抽象的外部接口与内部实现细节清楚地分离开。 3)继承 所表达的是对象类之间相互的关系。这种关系使的某一类可以继承另外一个类的特征和能力。 例【 Temp113 】现实社会中继承的实例 由此可知: 通过继承可实现和增强代码的可重用性——通过继承基类的属性、方法实现; 在创见新的派生类时,只要指明了派生类是由哪个基类派生的便可自动继承基类的属性和方法。 修改或扩充程序功能时不必修改原代码(增加新代码即可)。 ㈡ 继承的几个名词: 基类(父类) 派生类(子类) 直接基类及间接基类 ㈢ 继承的分类 单继承 多继承 4)多态 多态性:是指不同的对象在收到相同的消息时产生多种不同的行为。 多态性的例子。 “+”:2+3=5 设复数a=2+3i b=3+4i 则:a+b=5+7i (运算符重载) max()函数的调用: max(a,b)——求二个数之间的最大数; max(a,b,c) ——求三个数之间的最大数; max(*p,n)——求n个数的最大数。 (函数重载) 1)第一阶段:从80年代到1995年 a) 作为C语言的增加版出现; b) 这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额; 2)第二阶段:从1995年到2000年 这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击; 3)第三阶段:从2000年至今 由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术

文档评论(0)

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

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

1亿VIP精品文档

相关文档