(Visual C++程序设计及实践)第4章C++面向对象.ppt

(Visual C++程序设计及实践)第4章C++面向对象.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 C++面向对象 - 2 - 本章目标 理解面向对象编程思想 理解继承和多态的概念 掌握类和对象的关系 掌握静态变量、静态成员函数的使用 掌握继承的实现和使用 掌握多态的实现和使用 - 3 - 类与对象—面向对象的概念 面向对象编程的组织方式围绕“对象”,而不是围绕“行为”;围绕数据,而非逻辑。 面向对象程序采用的观点是“一切都是对象” 。 面向对象分析(OOA)就是以“类”的概念去认识问题、分析问题。 面向对象设计(OOD)是在OOA的基础上进行数据建模,从而建立所要操作的对象以及它们之间的联系 - 4 - 类与对象—面向对象的概念 面向对象的三大特征: 封装 对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节。 继承 通过吸收现有类的数据(属性)和方法,并增加新功能或修改现有功能来构建新类。 多态 在父类中定义的属性或方法被子类继承之后,可以具有不同的表现行为。 - 5 - 类与对象—类的定义 C++中定义类的语法格式如下 : class class_name { access: constructor_declarations; attribute_declarations; method_declarations; }; class是C++语言关键字,表明这是一个类的定义; class_name是类的名字; access具体可取public、protected、private或缺省; constructor_declarations是类的构造函数; attribute_declarations是属性,一般称为类的数据成员; method_declarations是方法,一般称为类的成员函数。 - 6 - 类与对象—构造函数和类的实例化 与一般的函数相比,构造函数有两点不同 : 构造函数具有和它所在的类完全一样的名字 构造函数没有返回类型 //在类的定义文件中,构造函数的声明格式如下: class class_name { public: class_name([argu_list]); ...... }; - 7 - 类与对象—构造函数和类的实例化 创建对象有两种方法:栈对象和堆对象: //创建栈对象的方法如下: class_name obj; //类定义没有提供构造函数,或者要调用缺省构造函数 class_name obj(argu_list); //调用类的带参数的构造函数 //创建堆对象的方法如下: //类定义没有提供构造函数,或者要调用缺省构造函数 class_name* pobj= new class_name; //调用类的带参数的构造函数 class_name* pobj= new class_name(argu_list); - 8 - 类与对象—析构函数 析构函数也是类中的特殊成员函数,要在前面加上一个波浪号“~”。 一个类中只能有一个析构函数。 析构函数执行与构造函数相反的操作,通常用于释放分配给对象的存储空间。 当程序超出类对象的作用域时,或者当对一个类指针使用运算符delete时,系统将自动调用析构函数。 //类的定义文件中,析构函数声明的格式如下: class class_name { public: ~class_name(); ...... }; - 9 - 类与对象—成员函数 成员函数(方法)是类行为的体现,其他对象可以根据类的方法对类进行访问。 多数情况下分布在两个文件中(.h和.cpp)。 //.h class class_name { [access]: return_type methodName([argu_list]); }; //.cpp return_type class_name::methodName([argu_list]) { ...... // 具体实现 } - 10 - 类与对象—内联成员函数 //类定义文件 class Employee { public: ...... //类成员函数声明,inline关键字可以省略 inline void SetAge(int nAge); ...... }; //类实现文件,如果成员函数声明时省略了inline关键字,这里就不能省略 inline void Employee ::SetAge(int nAge) { m_nAge = nAge; } 类与对象—静态类成员 - 11 - 与类相关的变量或函数称为静态成员变量或静态成员函数: //Account.h文件,定义一个银行账户类 class CAccount { public: ...... //静态成员函数,增加利率 st

文档评论(0)

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

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

1亿VIP精品文档

相关文档