- 21
- 0
- 约9.83千字
- 约 15页
- 2017-05-12 发布于河南
- 举报
C_3_类与对象
类与对象
§3—1 面向对象
§3—2 类的定义
§3—3 对象的定义
§3—4 对象的初始化
§3—5 特殊类
§3—6 特殊对象
§3—7 特殊成员
§3—8复杂对象
§3—9 类类型转换
§3—10 友元
§3—1 面向对象
一.面向对象
面向对象本质上是一种自然合理的思维方法,是一种通过模仿人类建立现实世界模型的习惯思维方式和表达方式,运用对象、类、封装、继承、消息、多态性等概念来构造系统的软件开发方法,它包含面向对象的分析、设计、编程、测试和维护等过程。
它从研究的客观事物出发,将它们抽象为系统中的对象,作为构成系统的基本单位,并尽可能隐蔽对象的内部细节,再把具有相同属性和服务的对象抽象为类。
从客观事物出发,经过不同层次上的抽象得到基类和它的派生类,派生类继承基类的属性和服务,实现了共享。
类中的大多数数据只能用本类的方法进行处理,类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
向不同对象发送同一消息,可产生不同的行为
面向对象的三大特性
1.封装性:是基础
是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节,只保留有限的对外接口使之与外部发生联系,其目的是有效地实现信息隐藏,它是软件设计模块化、软件复用、软件维护的基础
对象和类是封装性的体现。
类是对若干对象的抽象描述,对象是它所属类的实例
对象:是用来描述客观事物的一个实体,是问题域中客观事物的抽象表示,是用来构成系统的基本单位,由一组属性和行为构成
对象属性:表示客观事物的静态特性,一般用数据表达
对象行为:描述客观事物的动态特性,即事物的行为,一般用函数(方法)来表达
类:是一种用户自定义的抽象数据类型,包含属性和服务两部分,它为该类的所有对象提供一种统一的抽象描述
2.继承性:是关键
派生类继承基类的属性和服务,派生类自身还有新的属性和服务
继承机制既可避免公用代码的重复开发,减少代码和数据冗余,又可通过增强一致性来减少模块间的接口和界面
继承有单继承和多继承,继承有传递性
3.多态性:是补充
即同一接口,多种方法;相同界面,多种实现
指同一个名字对应着多种不同的行为或实现
或不同对象收到相同的消息时,产生不同的行为
多态性有两种:
编译时的多态性:重载,包括函数和运算符重载
运行时的多态性:动态联编,即同一属性或行为在基类及其各个派生类中具有不同的语义
多态性使高层代码只写一次而在低层可多次复用,提高了程序设计的灵活性和效率
基本术语
1.抽象
对一类具体事物共性的描述,即从一类事物中抽取共同的本质特点成为概念
2.消息
即成员函数的调用
是向对象发出的服务请求,它包含提供服务的对象标识、服务标识以及输入信息和回答信息
消息的接收者是提供服务的对象,它对外提供的每一种服务是按消息格式规定好的消息协议,该消息协议就是其服务的具体功能,即通过函数体来实现的
一条完整的消息包含如下内容:
① 消息的接收者:对象标识
② 服务标识:函数名
③ 符合消息协议要求的参数:函数实参表
§3—2 类的定义
一、类
面向对象程序设计=对象+对象+对象
对象=算法+数据结构
类:
是对某一类对象的抽象,它由概括了一组对象共同性质的数据和函数组成
是一种用户自定义的抽象数据类型,它具有对数据的抽象性、隐藏性和封装性
对象:
是某一个类的实例,是对现实世界中真实对象的模拟
现实世界是一个对象的世界,任何对象都具有一定的属性和操作,总能用数据结构与算法两者合一地来描述
类的定义
1.类的定义
(1)说明部分
用于类中成员作说明,告诉使用者“干什么”:
① 数据成员说明:对象的属性、状态、特征
② 成员函数说明:对象的行为、操作、服务、方法
(2)实现部分
用来实现成员函数,告诉使用者“怎么干”
即提供成员函数的函数体
2.具体定义格式:
class 类名
{
public:成员函数和数据成员的说明或实现
protected:成员函数和数据成员的说明或实现
private:数据成员和成员函数的说明或实现
};
各个成员函数的实现
说明:
(1)类名:用户自定义的标识符,应有一定英文含义,类名本身就是类型名
(2)类体:“{ }”括起来的部分,凡在其中实现的成员函数均为内联函数
(3)访问权限修饰符:
① public:公有访问属性,这种成员可以被任意函数访问(使用),提供类的接口功能
② protected:保护访问属性,这种成员只能被本类的成员函数和友元函数以及派生类中的成员函数和友元函数访问(使用)
③ private:私有访问属性,这种成员只能被本类的成员函数和友元函数访问(使用)
(4)当把私有成员的声明放
您可能关注的文档
- 2014-2015(上)计算机应用基础第三次月考检测卷.doc
- 2014-2015第2学期《JAVA项目开发实训》_实训计划.doc
- 2014VB第二次间周考试11计算机.doc
- 2014中考数学模拟题03.doc
- 2014年6月份短学期——软件工程与开发实践1(题目).doc
- 2014年9月份考试Java程序设计第三次作业.doc
- 2014年9月考试可视化程序设计(VB)_A_卷.doc
- 2014年平安建校上报材料 文档.doc
- 2014设计题.doc
- 2015年高职楼宇项目国赛样题6.1发布.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- ntvf调试资料解读.doc VIP
- 电影《色.戒》的叙事伦理.doc VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 佳能EOS1500D基本使用说明书说明书.pdf VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 渣打银行(香港)有限公司.PDF VIP
- 2024年吉林高职高专院校单招统一考试《语文》试卷及参考答案.pdf VIP
- JSG202515机器人系统集成应用技术样题-学生组.docx VIP
- 棋盘博弈采购法战略体系.ppt VIP
- 节后复产复工安全知识考试试卷及答案.docx
原创力文档

文档评论(0)