面向对象程序设计(类与对象) [兼容模式]

面向对象程序设计(类与对象) [兼容模式]

ID:34023662

大小:178.33 KB

页数:16页

时间:2019-03-03

面向对象程序设计(类与对象) [兼容模式]_第1页
面向对象程序设计(类与对象) [兼容模式]_第2页
面向对象程序设计(类与对象) [兼容模式]_第3页
面向对象程序设计(类与对象) [兼容模式]_第4页
面向对象程序设计(类与对象) [兼容模式]_第5页
资源描述:

《面向对象程序设计(类与对象) [兼容模式]》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2009/10/30•5.类与对象•5.2面向对象程序设计的特点–5.1面向对象的思想–抽象•类与对象是面向对象程序设计OOP(Object-OrientedProgramming)的基础,是c++区别于c的主要特征•数据抽象:定义了对象的属性和状态。•面向对象与面向过程的区别•代码抽象:定义了对象的共同行为特征或具有的同–函数与它所操作的数据密切相关,相互依赖,特定的函数往往对样功能。特定的数据结构进行操作–数据结构的改变对相关函数的影响–封装–面向过程:难于调试和修改。•数据成员和代码。对象自身以及程序如何引用对象•类是指具有相同的属性和操作,并遵守相同规则的对象的集

2、合。的数据?对象内访问,对象外访问。•类与对象的关系。•对象可以拥有私有成员-隐藏细节。–类是对象集合的抽象,对象是类的一个实例。•消息作为对象之间沟通的桥梁•优点:独立性,保护内部数据,易维护。–消息包括:目标对象名字,请求方法,参数•OOP的优点:开发时间短,效率高,可–继承(重用性)靠性高。代码重用性高,易于维护,易•一种联结类与类的层次模型。一种明确表述共性的方法。于更新升级。•派生——类继承的手段。派生类(子类),基类•难点:如何将OOP的概念,渗透到实际(父类)。的业务模型当中。–多态性•允许不同类的对象对同一消息作出响应。•多态性主要体现在:函数重载、虚函数

3、。•例如基类和派生类可以有同名函数,定义不同的操作(一个接口,多种方法)。12009/10/30•5.3类与对象–定义格式:–类的定义•class类名•{•数据成员(类的属性)private:•成员函数(类的方法)//私有成员•构造函数,析构函数protected:•运算符函数//被保护成员•Example:public://公有成员clilasspoint{{•};public:•Example:7.1p103unsignedx,y;–成员函数的定义voidShowMe(){cout<

4、private,protected,public–构造函数与析构函数•形成一种概念:类内访问&类外访问•public公有:–成员函数的定义–类以外的程序可以通过诸如“对象名.成员”,“对•规则:类型类名::函数名(行参表){函数体}象指针->成员”来访问。类内的其他成员也可以访•::作用域运算符。问。•区别程序当中的作用域含义。(全局,局部,主•protected保护:要用来控制对变量的访问)–类以外的程序不允许访问这个成员,只有这个类的•类的所有成员都在该类的作用域内。一个类的任成员才可访问。通过类对象不可直接调用。何成员都可以访问该类的其他任何成员(类内访问的范畴)。

5、•private私有:•如果从该类的作用域之外来访问该类的数据成员–类以外的程序不允许访问这个成员,只有这个类的或者成员函数,则要受到访问控制类型的限制。成员才可访问。通过类对象不可直接调用。•::函数名(实参表);•类型定义默认情况下都是私有的。–该种函数的调用,与类内成员函数调用的区别。•protected和private的区别。–主要体现在继承和派生过程中22009/10/30–内联成员函数–对象•关键字inline来修饰。•类的实例。•直接在类的定义中定义成员函数的函数体。P104•对象的使用P105example7.3–1.成员函数访问类中的数据成员,或调用其他

6、成员函–类的成员函数可以重载,也可带默认参数。数可以直接使用数据成员名或成员函数名。–2.在对象外访问该对象的数据成员或成员函数需要使用运算符“.”class.fun1();–3.在对象外直接访问一个对象的私有或者保护成员属于非法操作,导致编译错误。–4.同类对象之间可以整体赋值。类似于C/C++语法中的structure之间整体赋值。classobj1,obj2;obj1=obj2;–5.对象作为函数参数时属于赋值调用。对象可作为函数返回值。•5.4构造函数和析构函数–构造函数(决定了类的对象如何创建、初始化、复•5.5数据成员初始化p108制)–1.在构造函数体内进行

7、初始化。•定义了创建对象的方法,提供了初始化对象的一种简单手段。•带参数•定义:类名::类名(行参表);•不带参数•注意:构造函数与类同名,没有返回值。定义可以在类外,也可以是内联,允许重载。–2.在构造函数的头部进行初始化–析构函数(决定了类的对象如何撤销)•类名::构造函数名(行参表):变量1(初值1),变量•与构造函数对应。当一个对象的生存期结束时,系统将自2(初值2),…..,变量n(初值n){函数体}动调用构析函数来撤销该对象,释放该对象占用的内存空间及一些其它操作。–3.混合初始化•规则:类名::~类名();•1.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。