面向对象序设计99.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象序设计99

绪 论; 面向对象程序设计: 通过增加软件可扩充性和可重用性来改善并提高程序员的生产能力,并控制维护软件的复杂性和软件维护的开销 ;OOP:具有结构化程序设计的一切优点 将数据和对数据的操作放在一起,作为一个相互依存、不可分割的一个整体,抽象成一种新的数据类型—类 两大技术(两个重要原理) 数 据 抽 象 信 息 隐 藏;自行车类: (1)数据:尺寸、颜色、材料等(属 性) (2)操作:转弯、移动、修理等(操 作) 每一辆具体的自行车就是属于自行车类的一个对象;OPP支持的软件开发策略 编写可重用代码 编写可维护的代码 共享代码 精化已有的代码 ;OOP的五大基本概念 1.对象(Object):数据及可以对这些数据施加的操作结合在一起所构成的独立实体的总称,是计算的最基础的构造块 成员变量(数据):表明对象的状态 成员方法(操作):表明对象的行为 一组成员变量和相关的方法集合;2.类(Class):对一组具有相同数据和相同操作的对象的描述(定义),依据共同的行为将有关对象进行的一种分组 类中所有对象共享类中所有共同的特性 类是对象的抽象 程序中:只有类 对象是类的实例 运行时:只有对象;3.实例(Instance):由某个特定类所描述的一个对象 通常,对象和类的实例是同义词;4.消息(Message):要求某个对象执行类中所定义的某个操作的规格说明 ;;OOP方法学的四大要点 1.认为世界由各种对象(object)组成,任何事物都是对象,是某个对象类(class)的实例(instance) 2.把所有对象都划分成各种对象类,每个对象类都定义了一组方法(method),即允许施加于该类对象上的各种操作; 3.对象之间除了互相传递消息的联系之外,再没有其他联系 4.对象类将按照“类”、“子类”与“父类”的关系构成一个层次结构的系统;OOP的三大核心特征 封装性(Encapsulation) 继承性(Inheritance) 多态性(Polymorphism); 1.封装性:数据和加工处理该数据的方法紧密结合在一起构成黑匣子的整体 对私有数据不能执行该对象的成员函数之外的任何其它函数; 2.继承性:一个类直接继承其父类的全部描述(数据和函数) 继承具有传递性: 若类C继承类B,类B继承类A,则类C继承类A 类实际上继承了类等级中在其上层的全部基类(父类)的所有描述;;继承方式分类(二) 单继承:一个类只有一个父类时 (树结构) 多继承:一个类可有多个父类时 (图结构);3.多态性:在类等级的各层中共享(公用)一个行为(函数)的名字,而类等级中的每个类却各自按照自己的需要来实现这个行为 一个名字,多种语义 相同界面,多种实现;函数重载表达了最简单的多态性 void f( int, int, char ); void f( char, float ) ; void f( int, int ) ; void f( float, float ); 参数数量、类型、顺序不同,函数体也可以完全不同;OOP的两个重要原理 1.数据抽象:通过从特定的实例中抽取共同性质以形成一般化的概念的过程 强调部分特性(用户所关心的特性) 忽略其他特性(用户不关心的特性) 用户:只关心做什么 , 不关心怎么做 OOP技术比任何一种编程技术都更强调抽象在软件开发中的重要性;2.行为共享: (1)实体(模块)的外部接口称为行 为 (2)行为共享允许多个实体(模块) 具有相同的接口集 (3)行为共享增强系统的灵活性 (4)行为共享增强系统的抽象; 流 流是一个抽象的概念,它指的是数据从一个源(source)到一个终点(sink)的流动 c++提供四个预定义的开放流;cin: 标准输入,通常指键盘,对应于 c中的stdin, cout:标准输出,通常指屏幕,对应于 c中的stdout cerr:标准错误输出,通常指屏幕,对 应于c中的stderr clog:cerr的全缓冲版(

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档