面向对象的程序设计新原理与技术.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文档。上传文档
查看更多
面向对象的程序设计新原理与技术

首都师范大学教育技术系 方海光 2007年9月; 课件存放位置;第一章 面向过程与面向对象的程序设计;计算机的工作过程;输入设备;计算机的工作过程;面向过程的程序设计;例1-1 Page2 例1-2 Page3;面向过程的程序设计;面向过程的程序设计;面向过程的程序设计;面向对象的程序设计;面向对象的程序设计;面向对象的程序设计;例1-3 Page6 ;1 对 象;对象的定义 对象是一个封装体,封装了数据结构及可以施加在这些数据结构上的操作。 对象有对象名; 对象中的数据表示对象的状态,一个对象的状态只能由该对象本身的操作来改变。 对象向外界提供一组服务(即公有的操作),称为与外界的接口。 ;对象的特点:;2 其他面向对象的概念;实例(Instance) 是由某个特定的类所描述的一个具体的对象。 “对象”这个术语,既可以指一个具体的对象,也可以泛指一般的对象,“实例”这个术语,必然是指一个具体的对象。 C++中,要定义一个对象或实例,必须先建立一个这类对象的类。;属性(Attribute) 类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。 例:圆类(半径、位置、颜色) 在C++ 语言中把属性称为数据成员。;方法(Method) 对象所能执行的操作,它应用于类或被类中对象使用。 在C++中称为成员函数。通常,一个函数对应一个操作,实现一个功能。 例:圆对象响应显示圆的消息 在Circle类中必须定义能够显示这个圆的方法,即编写成员函数Show(int color)。 ;消息(Message) 对象之间相互请求相互协作的途径 一个消息由下述三部分组成: (1)接收消息的对象; (2)消息选择符(也称为消息名); (3)零个或多个变元。 例如 : MyCircle.Show(GREEN) ; 其中: MyCircle是接收消息的对象的名字 Show是消息选择符(即消息名) GREEN是消息的变元。 ;封装性(Encapsulation) 封装即把数据和实现操作的代码集中起来放在对象内部,外界通过对象提供的接口来使用它,不需知道内部数据结构细节和实现操作的算法 。 实现封装的条件 : (1)有一个清楚的边界 (2)有确定的接口(用于接受用户发送的消息) (3)受保护的内部实现 封装的好处就是实现了信息隐藏,把对象的实现细节对外界隐藏起来了,提高安全性。 在C++中,通过定义类来实现封装。;继承(Inheritance) 指能够直接获得已有的性质和特征,而不必重复定义它们。是子类自动地共享基类中定义的数据和方法的机制。 例:家族关系 继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A。一个类除了具有该类所描述的性质外,还具有该类上层全部基类描述的一切性质。;多态性(Polymorphism ) 在类等级的不同层次中,相同的消息,被不同类的对象接收,产生了不同的行为。 例:“打” 好处:增加软件系统的灵活性,减少了信息冗余,提高了软件的可重用性和可扩充性。 在C++ 语言中,多态性是通过虚函数来实现的。(动态联编);重载(Overloading) 有两种重载: 函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字; 例: 运算符重载是指同一个运算符可以施加于不同类型的操作数上面。 例: cout“2”;表示向屏幕输出字符串2 x2;表示将x中的二进制左移2位 ; 在C++语言中函数重载是通过静态联编实现的,也就是在编译时根据函数变元的个数和类型 ,决定到底使用函数的哪个实现代码;对于重载的运算符,在编译时根据被操作数的类型,决定使用该算符的哪种语义。 ;3 面向对象建模;面向对象建模;面向对象建模;面向对象建模;4 对象模型;4.1 表示类——对象的图形符号(p12);例:计算圆的面积。 ;类的命名规则 类名应富有描述性、简洁且无二义性,命名时应该遵守以下几条准则: (1)使用标准术语 (2)使用具有确切含义的名词 (3)必要时用名词短语作名字:如公司员工 ;4.2 表示类间关系的符号; ;例: ;2.组合关系 组合关系就是“整体─部分”关系,它反映了对象之间的构成关系。组合关系也称为聚集关系。 在C++语言中,通常是在一个类中包含另一个类的对象成员来实现这种关系。;上部:整体对象 下部:

文档评论(0)

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

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

1亿VIP精品文档

相关文档