第21 面向对象程序设计.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文档。上传文档
查看更多

第2章面向对象程序设计第1页,共37页,星期日,2025年,2月5日2.1面向对象程序设计思想面向对象程序设计的特点 1.抽象性 用C++语言可以将该图形描述如下: 圆形(circle): 数据抽象: doublex,y,r; 行为抽象: setx();sety();setr();draw();第2页,共37页,星期日,2025年,2月5日 抽象是面向对象方法的核心。 2.封装性 3.继承性 4.多态性 多态性也是面向对象程序设计的重要特性之一。第3页,共37页,星期日,2025年,2月5日1.抽象抽象是指从具体的实例中抽取出来共同的性质并加以描述的过程,它忽略了一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。第4页,共37页,星期日,2025年,2月5日抽象过程:先注意问题的本质及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。

抽象的实现:通过类的声明第5页,共37页,星期日,2025年,2月5日抽象实例——钟表数据抽象:

intHour,intMinute,intSecond代码抽象:

SetTime(),ShowTime()第6页,共37页,星期日,2025年,2月5日抽象实例——钟表类classClock

{

public:

voidSetTime(intNewH,intNewM,

intNewS);

voidShowTime();

private:

intHour,Minute,Second;

};第7页,共37页,星期日,2025年,2月5日2封装封装指的是将方法和数据放于同一对象中,使得对数据的存取只能通过该对象本身的方法来进行。主要思想是将数据(数据成员)及处理这些数据的相应函数(成员函数)封装到类class中(C++的一种新的定义数据类型的方法),而使用类的变量则称为对象(object),在对象内,只有属于该对象的成员函数才可以存取该对象的数据成员。这样,其他函数就不会破坏到它的内容,从而起到保护和隐藏数据的效果。第8页,共37页,星期日,2025年,2月5日将抽象出的数据成员、代码成员相结合,将它们视为一个整体。目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。实现封装:类声明中的{}第9页,共37页,星期日,2025年,2月5日实例第10页,共37页,星期日,2025年,2月5日3继承继承是一种联结类与类之间的层次模型,它允许和鼓励类的重用,提供了一种明确表达共性的方法。一个新类可以从现有的类中派生,这个过程称为类继承继承性很好地解决了软件的可重用问题实现:声明派生类第11页,共37页,星期日,2025年,2月5日4多态多态性指的是同一消息被不同的对象接收后被解释为不同含义的能力,也就是一个接口名称具有多种功能。即同一名称,不同的功能实现方式。多态性语言具有语言灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名的问题。目的:达到行为标识统一,减少程序中标识符的个数。实现:重载函数和虚函数第12页,共37页,星期日,2025年,2月5日2.2 面向对象的基石——类 2.2.1从结构到类 2.2.2类的定义 2.2.3构造函数2.2.4析构函数 第13页,共37页,星期日,2025年,2月5日2.2.1 从结构到类 1.结构体VC不仅提供了大量预先定义的数据类型,而且还支持自定义的数据类型。结构就是把相互关联的一些基本数据类型的元素组成一个新的独立统一体。第14页,共37页,星期日,2025年,2月5日【例2-1】定义一个职工Employee结构数据类型,它包括姓名、工资、地址、移动电话。structEmployee{charname[9];floatsalary;charaddress[40];charmobile[12];};定义一个结构体,事实上是定义了一种数据类型,程序并不会给类型分配内存,内存分配是发生在结构体变量上第15页,共37页,星期日,2025年,2月5

文档评论(0)

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

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

1亿VIP精品文档

相关文档