- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
5.2面向对象程序设计基本概念为什么要提出面向对象程序设计面向对象语言和方法类、对象和消息面向对象程序设计特点面向对象程序的结构为什么要提出面向对象程序设计如何在程序中表示日期?(如2012年3月15日)第一个方案,一个简单的结构structDate{inty;//yearintm;//monthinyearintd;//dayofmonth};可以利用Date做什么事呢?运行1_1.cpp,依次输入下面数据:20123152012153-313322000229问题:日期的合法性无法保证第2个方案,在第1个基础上设计一些辅助函数,完成一些最常见的操作1_2.cppinit_day(),初始化,将合理日期值赋给数据成员add_day(),增加日期的值为什么要提出面向对象程序设计问题:如果定义了Date型变量today,忘了初始化就使用了它;如果又定义了Date型变量tomorrow,没有调用add_day(),而是直接写了下面代码tomorrow.y=today.y;tomorrow.m=today.m;tomorrow.d=today.d+1;我们需要不会被程序员忘记的初始化函数,需要被忽视的可能性很低的操作。实现这些目标的基本技术就是成员函数,即将函数声明于结构体为什么要提出面向对象程序设计结构化程序设计软件的结构化分析、设计方法工程化的概念的方法但无法很好地支持越来越复杂、庞大的系统需求面向对象方法直接将问题的求解映射到问题本身上有目的地将系统分解为模块将问题分解为一系列的实体(对象)方便设计,可维护性、可扩充性好面向对象语言和方法简单的例子——图书馆管理系统包含reader(读者)对象、librarian(图书管理员)对象、bookshelf(书架)对象等所有的操作由各对象协作完成借书reader对象向librarian对象提出借书请求librarian对象向bookshelf对象提出查书和取书请求然后逐步响应,逐步返回,共同完成借书操作面向对象语言和方法面向对象方法的一些特性程序设计的重点在数据而不是函数程序由对象组成对象之间通过相互协作来完成功能大多数对象的定义以数据为中心函数与相关的数据紧密结合数据可以被隐藏很容易扩充新的数据和函数面向对象语言和方法对象、类和消息面向对象程序设计的一般步骤分析实际问题,分辨并抽取其中的类和对象设计相应的类,并根据这些类创建各种对象协调这些对象完成程序功能万物皆对象每个学生、每个班级、每个学校、每个国家、每棵树、每本书、每部汽车——具体的实体“张三”、“李四”都是对象,但“人”不是“人”不是具体的实体,是类,是抽象概念类是某些对象共同特征的表示类是创建对象的模板,对象是类的实例对象、类和消息如何区分对象和类——以“人”和“张三”为例“人”描述了所有人(包括“张三”)都具有的属性和行为,如有姓名、身高、体重,有鼻子、眼睛、四肢,能交流、能思维等等对象(“张三”)是具体的“张三”的姓名是“张三”“张三”的身高是185CM类(“人”)描述的概念是抽象的“人”的姓名是什么?“人”的身高是什么?对象、类和消息对象和类的例子教室——1342教室国家——中国学校——东华大学……对象、类和消息例子:读者类ReaderclassReader{public: Reader();//构造函数 intregistration(char*name);//注册 intborrowBook(intbookNo); //借书 intreturnBook(intbookNo); //还书private: char*name; //姓名 char*certifNo; //借书证号};对象可以响应消息对象zhang可以响应registration(注册)、borrowBook(借书)和returnBook(还书)三种消息要对象zhang借书可以向对象zhang发borrowBook消息对象zhang则通过执行成员borrowBook来响应消息对象、类和消息C++将“向对象发消息”处理成“调用对象的某个成员函数”C++将“对象响应消息”处理成“转去执行相应的成员函数”调用对象zhang的成员函数borrowBook zhang.borrowBook(12); rpt?borrowBook(12); ref.borrowBook(12);对象、类和消息格式说明类的定义以关键字class开头cla
您可能关注的文档
最近下载
- 我国散光矫正型人工晶状体临床应用专家共识.docx
- 科研伦理与学术规范.docx VIP
- 【教学评一体化】第三单元 赏山川日月,悟忧乐情怀 整体公开课一等奖创新教学设计-【大单元教学】统编版语文九年级上册名师备课系列.docx VIP
- 缅怀先烈精神-传承红色基因课件.pptx VIP
- 1.1 同底数幂的乘法 双减分层作业设计样例 2021—2022学年北师大版数学七年级下册 .docx VIP
- 朱良春杂病廉验特色发挥.docx
- 绘本《我妈妈》教学设计.docx
- 人教版(2024)英语七年级上册全册教案.DOCX VIP
- 在线网课知慧《音乐艺术概论》课后章节测试答案.docx
- 2024年中煤集团西南分公司招聘笔试参考题库附带答案详解.pdf
文档评论(0)