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

    面向对象程序设计理论篇.ppt

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

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

    面向对象程序设计理论篇.ppt

    面向对象程序设计理论篇,武汉大学资源与环境科学学院地理信息科学系,教材及参考资料:,面向对象的理论与C+实践 王燕 编著 清华大学出版社,By:任福 博士Email:Room:7-501,第三章:面向对象系统的特性,封装性 继承性 多态性,3.封装性,3.什么是封装,第三章:面向对象系统的特性,封装就是将一个数据和与这个数据有关的操作集合放在一起,形成一个能动的实体对象,用户不必要知道对象行为的实现细节,只需要根据对象提供的外部特性接口访问对象即可。因此,从用户的角度看,就象一个“黑匣子”。,封装的条件:具有一个清楚的边界;具有一个接口;保护内部代码不被其他对象直接修改;,3.封装性,3.2什么是协议,第三章:面向对象系统的特性,协议是一个对象对外服务的说明,是一个对象所能接受的所有公有消息的集合。举例,3.封装性,3.3 面向对象系统的封装性,第三章:面向对象系统的特性,面向对象的封装性是一种信息隐藏技术:目的:使用者与开发者分开 系统设计员 表明所提供的服务界面 用户或应用程序员 对象提供一组服务,屏蔽内部 开发程序员 对象实现、编码 涵义:主要是对象的封装,但封装的含义不仅仅是数据隐藏,它意味着任何形式的隐藏,如类的封装。,3.2 继承性,3.2.1 继承的引入,第三章:面向对象系统的特性,继承表达了一种对象类的相交关系 继承的几个特征:共享:数据和代码 细微差别与新增 层次结构 继承的作用:减少代码冗余 通过协调减少相互之间的接口和界面,3.2 继承性,3.2.1 继承的分类,第三章:面向对象系统的特性,继承,从继承源划分,从继承内容划分,单继承,多继承,取代继承,包含继承,受限继承,特化继承,说明:继承关系存在与类与类之间,3.2 继承性,3.2.1 继承与封装的关系,第三章:面向对象系统的特性,相似性:都是一种共享代码的手段 继承是一种静态共享代码的手段 封装是一种动态共享代码的手段 区别:针对的层次不同 封装性主要是指对象的封装 继承是类的机制,是一种静态机制 对象是类的实例,也许是派生类的实例 也许是基类的实例,3.2 继承性,3.2.1 继承与委托的关系,第三章:面向对象系统的特性,相似性:节省代码 派生类通过继承共享了基类的代码 委托是一个对象通过其他对象完成操作 区别:性质不同 继承是静态关系 委托既可以静态定义也可以动态定义,3.2 继承性,3.2.1 类的层次,第三章:面向对象系统的特性,类的层次可以清楚有效的表示现实世界中事物的分类问题。,Class A/Class B:public A/Class C:public B/,举例:Visual C+中类的层次,3.2 继承性,3.2.1 单继承与多继承,第三章:面向对象系统的特性,A,B,C,D,E,A,B,C,D,E,F,3.2 继承性,3.2.1 面向对象系统的继承性,第三章:面向对象系统的特性,继承机制的优点:清晰体现类层次结构 代码共享以减少冗余 减少接口和界面,容易维护 代码传播的有效手段 是构造、建立和扩充新类的有效手段,3.3 多态性,3.3.1 重载的概念,第三章:面向对象系统的特性,重载的含义是指通过为函数和运算符创建附加定义而使他们的名字可以重载,即相同名字的函数或运算符在不同的场合可以表现出不同的行为。,函数重载 运算符重载,3.3 多态性,3.3.2 虚函数的概念,第三章:面向对象系统的特性,虚函数使用户在一个类等级中可以使用相同函数的多个版本,每一个版本均属于类等级中的不同的类,究竟使用的是哪一个版本需要在运行中决定。注意:虚函数的各个版本中,其返回值、函数参数的个数和类型必须是一致的。,3.3 多态性,3.3.3 抽象类的概念,第三章:面向对象系统的特性,抽象类的作用在于将许多有关的类组织在一起,提供一个公共的基类,而那些被它组织在一起的具体的类由它派生出来。它刻画了公有行为的特征,并通过继承机制传送给它的派生类。抽象类只描述与这类对象有关的协议和协议消息的部分实现,完整的实现留给它的派生类来具体完成。抽象类型是不能创建具体对象的类型,即不能产生实例,只能建立它的派生类的对象。举 例,3.3 多态性,3.3.3 面向对象系统的多态性,第三章:面向对象系统的特性,涵义:面向对象系统的多态性指的是,当不同的对象收到相同的消息时产生不同的动作。C+语言支持两种多态:编译时的多态性和运行时的多态性。编译时的多态性是通过使用重载来实现的,是相对静止的多态性。运行时的多态性是通过虚函数来实现的,到底运行的哪个函数版本,需要在运行时找出发送消息的对象来确定。举例,总结,第三章:面向对象系统的特性,概念:封装、协议、继承、委托、重载、多态、抽象类等。面向对象系统的多态性。封装与继承的关系。,3.封装性,3.2什么是协议,第三章:面向对象系统的特性,返回,class studentprivate:char*name;int*major;void changmark();protect:int getmark();public:char*getname();char*getmajor();,私有段:不向外界公开的功能,只供对象自己使用。,保护段:部分向外界宣布的功能,只供自己及派生类对象使用。,公有段:所有向外界宣布的功能,可以响应外部的请求,是属于协议的内容。,3.2 继承性,第三章:面向对象系统的特性,返回,3.3 多态性,3.3.3 抽象类的概念,第三章:面向对象系统的特性,class shapeprivate:int x,y;/public:void move(int int);virtual void rotate(int)=0;/定义纯虚函数Virtual void draw();/定义虚函数,class circle:public shapeprivate:int radius;public:void rotate(int);void Draw();,返回,3.3 多态性,3.3.3 面向对象系统的多态性,第三章:面向对象系统的特性,返回,目标超类,点目标类,线目标类,面目标类,弧段目标类,路径目标类,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开