- 1、本文档共92页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
讲义_03_类和对象的定义
面向对象程序设计 类和对象的定义 基本内容 1).面向对象概述 2).类定义的语法 3).数据成员和成员函数 4).访问函数与工具函数 1、面向对象的基本概念 1.1面向对象语言 Simula:第一次提出对象的概念 Smalltalk:第一个真正意义上的面向对象语言 Eiffel(Interactive Software Inc.) C++(Bell) Java(Sun) RAD(Rapid Application Development)----所见即所得(What you see is what you get) Visual Basic, Delphi 1.2面向对象方法 面向对象是观察世界和编写程序的自然方式. 模拟现实世界的事物及其关系 组织管理大规模的程序 1.3类与对象 1.4消息及其传递 对象之间的联系和交互 简单的:成员函数调用 复杂的:同一消息引发不同响应 1.5数据抽象 更多数据抽象的例子 平面上的点 苹果/桌子/交通工具 复数/有理数 时间/日期 学生/教师/员工 数组/链表 复杂对象的抽象方法:面向对象分析[OOA] 1.6面向对象三大特征 封装性(encapsulation) 继承性(inheritance) 多态性(polymorphism) 1.6.1封装 1.6.2继承和重用 继承父类的属性(适用于父类所应用的场合),并增加新功能。 软件重用的重要手段,如硬件IC。 1.6.3多态性 在继承共性的同时保留特性。 同一消息引发不同的响应(“+”)。 功能接口相同,但是具体实现不同。 2、类及其定义语法 2.1用类实现抽象数据类型 类(class)使程序员可以构造对象(object, 或者实例instance)的属性(attribute)和行为(behavior或操作operation).前者抽象为数据成员(data member),而后者抽象为成员函数 (member function). 2.2类定义的语法 class 类名 { private: 数据成员或者成员函数的说明和定义 public: 数据成员或者成员函数的说明和定义 protected: 数据成员或者成员函数的说明和定义 }; 类定义的若干说明 1).class:类定义的关键字; 2).类名和成员函数名; 3).类头和类体; 4).访问[access]权限控制符; 5).必须以;结束类定义. 2.3由类生成对象 不能直接应用类;类是抽象的 通过对象来体现类的功能;对象是具体的 2.4访问权限控制 2.4访问权限控制 (1)public指定的公有部分是透明的,它的数据成员和成员函数是开放的,既可以由本类的成员函数直接访问,也可由程序的其他部分直接访问。 如:对象名.公有成员名 (2)private指定的私有部分像一个黑盒子,它只能由本类的成员函数直接访问,即在成员函数体内直呼其名地写出私有成员名。例如, void SetDate(int y,int m,int d) {year = y; month = m; day = d;} 2.4访问权限控制 但是不允许程序其他部分直接访问。 即不允许 对象名.私有数据成员名 date1.day=6; date1.month=12; date1.year=2001; coutdate1.day; (3)protected指定的保护部分是半透明的,它可由本类成员函数或它的派生类成员函数直接访问,但不允许程序其他部分直接访问它。 2.4访问权限控制 (4)通常总是将类的数据成员指定为私有的,以实现数据隐藏,这些数据成员用来描述该类对象的属性,因编程者无法直接访问它们而隐藏起来,一般将成员函数指定为公有的,作为该类对象访问私有数据成员的一个接口界面(Interface),即对象访问私有数据成员的一条消息通路提供给外界使用。因此,一个类的对象只能通过公有成员函数访问它的私有数据成员,从而隐藏了处理这些数据的具体实现细节,使得类对数据的描述和类提供给外界来处理数据的界面这两件事情相互独立,这就给出了面向对象的重要特性,使得一个类的用户唯一需要做的事情就是访问类的接口界面。 2.4访问权限控制 日期类Date封装在一个程序实体内(定义日期类) 2.4访问权限控制 日期类Date封装在一个程序 实体内(定义日期类Date的 程序代码)将它的私有数据 成员year、month、day 等隐藏起来,不让对象随意 访问,就像把电视机的零部件 封装在机壳内一样隐藏和保护 起来,用户只有操作机壳面板上的 按键和开关才能收看电视。对象要
文档评论(0)