欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第10章面向对象程序设计基本概念.ppt

    • 资源ID:5891218       资源大小:167.04KB        全文页数:31页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第10章面向对象程序设计基本概念.ppt

    第10章 面向对象程序设计基本概念,讲授内容,面向对象程序设计方法的产生和发展 面向对象程序设计语言 面向对象程序设计的特点 类和对象的基本概念 消息,10.1 面向对象语言和方法(1/6),六十年代末期Simula 67(面向对象语言的鼻祖)包含了类和继承的概念 类描述特性相同或相近的一组对象的结构和行为继承将多个类组织成层次结构,实现数据和操作的共享,10.1 面向对象语言和方法(2/6),七十年代末八十年代初Smalltalk(第一个真正的集成开发环境)包含类和继承,更严格的信息隐藏带有一个巨大的、标准类库第一个使用MVC(Model-View-Controller)模式开发交互式应用软件,10.1 面向对象语言和方法(3/6),Smalltalk使面向对象方法为人们注目面向对象语言被分为两大阵营 纯粹的面向对象语言:Smalltalk、Eiffel、Java混合型面向对象语言:C+和CLOS基于对象的语言:Ada支持数据抽象类型(包)、函数和运算符重载、多态性,但不支持继承,10.1 面向对象语言和方法(4/6),结构化程序设计软件的结构化分析、设计方法工程化的概念的方法但无法很好地支持越来越复杂、庞大的系统需求面向对象方法直接将问题的求解映射到问题本身上有目的地将系统分解为模块将问题分解为一系列的实体(对象)方便设计,可维护性、可扩充性好,10.1 面向对象语言和方法(5/6),简单的例子图书馆管理系统包含reader(读者)对象、librarian(图书管理员)对象、bookshelf(书架)对象等所有的操作由各对象协作完成借书reader对象向librarian对象提出借书请求librarian对象向bookshelf对象提出查书和取书请求然后逐步响应,逐步返回,共同完成借书操作万物皆对象,10.1 面向对象语言和方法(6/6),面向对象方法的一些特性程序设计的重点在数据而不是函数程序由对象组成对象之间通过相互协作来完成功能大多数对象的定义以数据为中心函数与相关的数据紧密结合数据可以被隐藏很容易扩充新的数据和函数,10.2 类、对象和消息(1/10),面向对象程序设计的一般步骤分析实际问题,分辨并抽取其中的类和对象设计相应的类,并根据这些类创建各种对象 协调这些对象完成程序功能(消息),10.2 类、对象和消息(2/10),万物皆对象每个学生、每个班级、每个学校、每个国家、每棵树、每本书、每部汽车具体的实体“张三”、“李四”都是对象,但“人”不是“人”不是具体的实体,是类,是抽象概念类是某些对象共同特征的表示类是创建对象的模板,对象是类的实例,10.2 类、对象和消息(3/10),如何区分类和对象以“人”和“张三”为例“人”描述了所有人(包括“张三”)都具有的属性和行为,如有姓名、身高、体重,有鼻子、眼睛、四肢,能交流、能思维等等类(“人”)描述的概念是抽象的“人”的姓名是什么?“人”的身高是什么?对象(“张三”)是具体的“张三”的姓名是“张三”“张三”的身高是185CM,10.2 类、对象和消息(4/10),还有哪些类和对象的例子教室301-105教室国家中国学校国防科技大学,例子:读者类Reader,class Reader public:Reader();/构造函数int registration(char*name);/注册int borrowBook(int bookNo);/借书int returnBook(int bookNo);/还书private:char*name;/姓名char*certifNo;/借书证号;,10.2 类、对象和消息(5/10),格式说明类的定义以关键字class开头class后面是类名(Reader)类名后面花括号扩起来的部分是类的体类的定义以分号结尾,10.2 类、对象和消息(6/10),内容说明类的定义可以包含数据和函数关键字public后面定义了类的公有成员类Reader有四个公有成员函数:Reader、registration(注册)、borrowBook(借书)和returnBook(还书)关键字private后面定义的是类的私有成员类Reader包含两个私有数据成员,姓名(name)和借书证号(certifNo)数据成员和成员函数都可以是私有的或公有的,10.2 类、对象和消息(7/10),自定义类是一种新的自定义类型,可以声明变量、指针、数组等对象各自拥有自己的数据空间,互不干扰Reader zhang;/声明Reader类的对象zhangReader reader1000;/声明Reader类的数组Reader*rptr=/声明Reader类型的引用,10.2 类、对象和消息(8/10),对象可以响应消息对象zhang可以响应registration(注册)、borrowBook(借书)和returnBook(还书)三种消息要对象zhang借书可以向对象zhang发borrowBook消息对象zhang则通过执行成员borrowBook来响应消息,10.2 类、对象和消息(9/10),C+将“向对象发消息”处理成“调用对象的某个成员函数”调用对象zhang的成员函数borrowBookzhang.borrowBook(12);rptborrowBook(12);ref.borrowBook(12);,10.2 类、对象和消息(10/10),消息机制的特性同一对象可以接收不同的消息,并有不同的响应。如对象zhang可接收注册、借书、还书三种消息 给不同对象发送同一消息会产生不同的效果。对消息的响应不是必须的。对象可以响应消息,也可以忽略某些消息对象之间是平等的,每个对象都可以向其它对象发消息,让其为自己服务,10.3 面向对象程序设计特点(1/5),抽象和封装 抽象提取和表现事物的核心特性,不描述背景细节类的定义是对实体的抽象和描述(定义类Reader时,要描述哪些特性?)封装把数据及与数据相关的操作组织在一个单独的程序单元(对象)中结构清晰,对象之间的独立性好,接口关系简单,可扩充性和可维护性好,10.3 面向对象程序设计特点(2/5),数据隐藏和访问机制对象对内部数据提供了不同级别的保护对象私有的代码和数据不能被外界直接访问外界只能通过公有成员函数和对象交互有效地保护数据,提高程序的可维护性,10.3 面向对象程序设计特点(3/5),继承继承允许从现有的类(基类)建立新类(派生类)派生类继承了基类的属性和行为派生类可以修改和扩充这些属性和行为派生类可以增加新的数据成员和函数成员派生类对象被认为是基类的对象方便统一管理提高软件开发的效率和软件质量,10.3 面向对象程序设计特点(4/5),多态性程序设计中很多类可以通过继承的关系构成树形结构多态性使程序员可以通过统一的接口操纵这些类的对象对于同一条函数调用语句不同的对象会执行不同的操作,10.3 面向对象程序设计特点(5/5),面向对象技术的优点易于建模 易于维护 可扩展性好 代码重用,10.4 面向对象程序的结构,面向对象程序设计的任务设计类以类为模板创建不同的对象协调这些对象共同工作面向对象程序仍然需要一个入口:main函数,例子1:编写一个雇员类Employee并测试它(1/3),#include#include class Employee public:Employee(char*n)/构造函数 name=new charstrlen(n)+1;strcpy(name,n);Employee()/析构函数 delete name;,例子1:编写一个雇员类Employee并测试它(2/3),void setSalary(double s)salary=s;void printSalary()coutMy salary is$salary!endl;void whoAreYou()coutendlMy name is name.n;private:char*name;double salary;,例子1:编写一个雇员类Employee并测试它(3/3),main()/声明类Employee的对象a和b Employee a(Zhang Shan),b(Li Si);a.setSalary(123.4);/给对象a发消息setSalary b.setSalary(156.7);/给对象b发消息setSalary a.whoAreYou();/给对象a发消息whoAreYou a.printSalary();/给对象a发消息printSalary b.whoAreYou();/给对象b发消息whoAreYou b.printSalary();/给对象b发消息printSalary return 1;,程序执行结果:,My name is Zhang Shan.My salary is$123.4!My name is Li Si.My salary is$156.7!,学习目的检测,了解面向对象程序设计方法相对于结构化程序设计方法的优点 了解面向对象语言的特点 掌握类、对象和消息在面向对象程序设计中的作用 了解面向对象程序设计的结构,作业,10.1 10.3 10.7,

    注意事项

    本文(第10章面向对象程序设计基本概念.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开