类和对象1.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  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文档。上传文档
查看更多
类和对象1

第7单元 类与对象;类和对象;结构化程序设计的特点: 是一种自上而下、逐步细化的模块化程序设计方法。 算法 + 数据结构 = 程序 是一种面向过程程序设计方法,即一个程序是由多个过程(在C++中为函数)模块组成,过程之间通过函数参数和全局变量进行相互联系。 ; 代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。 由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块容易发生变化,使得开发出来的模块的可维护性欠佳。 面向过程模式将数据与过程分离,若对某一数据结构做了修改,所有处理数据的过程都必须重新修订,这样就增加了很多的编程工作量。;什么是对象: 现实世界是由各种各样的事物组成,包括真实的事物和抽象的事物。例如,人、动物、汽车(真实的事物)和程序、直线(抽象的事物)等。 每一类事物都有自己特定的属性(如大小、形状、重量等)和行为(如生长、行走、转弯、运算等),人们通过研究事物的属性和行为而认识事物。 在计算机科学中将这些现实世界中的事物称之为对象。对象是包含现实世界中事物特征的抽象实体,它反映了系统为之保存信息和与之交互的方法。 在程序设计领域,可以用如下公式表示: 对象 = 数据 + 作用于这些数据上的操作;为了描述属性和行为相同的一类对象,引入了类(class)的概念。 类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。 对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。 对象和类的关系相当于程序设计语言中变量和变量类型的关系。;OOP围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。 OOP模拟了对象之间的通信。就象人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能。;面向对象程序设计方法的基本特征;为了支持面向对象程序设计,C++在C语言结构(struct)数据类型的基础上引入了类这种抽象数据类型。 C++面向对象编程实质上就是面向类编程。 易于编写大型复杂程序,其代码重用性比C中采用函数更高。 传统C程序员把编程重点放在函数的编写上,而C++程序员把重点放在类的定义和实现上。 ;C++类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装。数据成员又称成员变量,成员函数又称为方法。 C++类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控制权限。对象只能访问所属类的公有成员,而类的私有成员只能在类的成员函数中被访问。 ;类的声明形式;注意:在C ++语言中,结构体struct与类class有很多相同之处,但也有差异: 关键字:struct→class。 结构成员默认为public,而类成员默认为private。;公有类型成员;私有类型成员;保护类型;类的成员;void Clock :: SetTime(int NewH, int NewM, int NewS) { Hour=NewH; Minute=NewM; Second=NewS; } void Clock :: ShowTime( ) { coutHour:Minute:Second; };成员数据;;成员函数;;内联成员函数;内联成员函数举例(一);内联成员函数举例(二);inline void Point:: Init(int initX,int initY) { X=initX; Y=initY; } inline int Point::GetX( ) { return X; } inline int Point::GetY( ) { return Y; };对象;类中成员的访问方式;例子 类的应用举例;构造函数;构造函数举例;构造函数的实现: Clock::Clock(int NewH, int NewM, int NewS) { Hour=H; Minute=M; Second=S; } 建立对象时构造函数的作用: void main( ) { Clock c (0,0,0); //隐含调用构造函数,将初始值作为实参。 c.ShowTime( ); };几点说明:;(3)构造函数还具有一些特殊的性质: 构造函数的名字必须与它所属的

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档