- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c课件第八章 类和对象
第八章 类和对象
8.1面向对象程序设计方法概述
8.1.1什么是面向对象的程序设计
1. 对象 对象的静态特征称为属性,动态特征称为行为。对象之间通过发送和接受消息互相联系。
图8.1
图8.2
在C++中,每个对象都是由数据和函数(操作代码)两部分组成。
2. 封装与信息隐蔽
3. 抽象
4. 继承与重用
5. 多态性
8.1.2面向对象程序设计的特点
图8.3
图8.3是传统的面向过程的程序设计。
面象对象的程序设计是:把数据和有关操作封装成一个对象。程序设计的任务包括两个方面:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。
8.1.3类和对象的作用
面向过程的结构化程序设计:程序=算法+数据结构
基于对象和面向对象程序设计:对象=算法+数据结构
程序=(对象+对象+···)+消息
8.1.4面向对象的软件开发
1. 面向对象分析(object oriented analysis,OOA)
2. 面向对象设计(object oriented design,OOD)
3. 面向对象编程(object oriented programming,OOP)
4. 面向对象测试(object oriented test,OOT)
5. 面向对象维护(object oriented soft maintenance,OOSM)
8.2类的声明和对象的定义
8.2.1类和对象的关系
在C++中对象的类型称为类。类是对象的抽象,而对象是类的具体实例。
8.2.2声明类类型
struct Student
{
int num;
char name[20];
char sex;
};
class Student
{
int num;
char name[20];
char sex;
void display()
{ coutnum:numendl;
coutname:nameendl;
coutsex:sexendl;
}
};
Student stud1,stud2;
还可以改为以下声明:
class Student
{ private:
int num;
char name[20];
char sex;
public:
void display()
{ coutnum:numendl;
coutname:nameendl;
coutsex:sexendl;
}
};
Student stud1,stud2;
private和public称为成员访问限定符。被声明为私有的(private)只能被本类中的成员函数使用,类外不能使用(友元除外)。被声明为公有的(public)可以被类作用域内所有函数使用。被声明为保护的(ptotected)它不能被类外函数使用,但可以被派生类成员函数使用。
8.2.3定义对象的方法
1. 先声明类类型,然后再定义对象
2. 在声明类类型的同时定义对象
3. 不出现类名,直接定义对象
8.2.4类和结构体类型的异同
用struct声明的类,如果对其成员不作private或public声明,系统默认为public. 用class声明的类,如果对其成员不作private或public声明,系统默认为private.
8.3类的成员函数
8.3.1成员函数的性质
对外接口为公有的,类内部使用为私有的。
8.3.2在类外定义成员函数
class Student
{
public:
void display();
private:
int num;
char name[20];
char sex;
};
void Student::display()
{ coutnum:numendl;
coutname:nameendl;
coutsex:sexendl;
}
“::”是作用域限定符。
8.3.3 inline 成员函数
class Student
{
public:
void display()
{ coutnum:numendl;
coutname:nameendl;
coutsex:sexendl;
}
private:
int num;
char name[20];
char sex;
};
8.3.4成员函数的存储方式
图8.4
图8.5
#includeiostream
using namespace std;
class Time
{
public:
void set()
{ cinhourminutesec;}
void display(
您可能关注的文档
- 7我们的中华民族精神.ppt
- 7西部十二省区市科技合作协议 - 西部十二省区市十三方科技合作框架协议.doc
- 7第七章 门窗构造.ppt
- 8 不同报告方法的瞬时记忆容量研究.doc
- 7药物对呼吸系统的毒性作用.ppt
- 7第七章 为新中国而奋斗.ppt
- 8 子网划分.ppt
- 8-4空间曲线.ppt
- 80-20定律-讲义成功定律.ppt
- 800031计算机网络基础32学时陆魁军CH1-5ed 概述.ppt
- 专题4.8 平行四边形全章八类必考压轴题(浙教版)(原卷版).pdf
- 专题4.7 全等三角形的证明及计算大题专项训练(30道)(举一反三)(北师大版)(原卷版).pdf
- 专题4.7线段的动点综合问题大题专项训练(重难点培优)-【讲练课堂】2022-2023学年七年级数学上册尖子生同步培优题典(原卷版)【人教版】.pdf
- 专题4.6平方根与立方根综合大题专项提升训练(重难点培优)-【讲练课堂】2022-2023学年八年级数学上册尖子生同步培优题典(解析版)【苏科版】.pdf
- 专题4.7平行四边形的性质与判定大题专练(重难点培优30题,八下浙教)-【拔尖特训】2022-2023学年八年级数学下册尖子生培优必刷题(原卷版)【浙教版】.pdf
- 专题4.8 代数式章末八大题型总结(培优篇)(浙教版)(解析版).pdf
- 专题4.8 线段中的四种常见思想方法(华东师大版)(原卷版).pdf
- 北京某暖卫工程.pdf
- 专题4.6线段之间的数量关系大题专项训练(重难点培优)-【讲练课堂】2022-2023学年七年级数学上册尖子生同步培优题典(原卷版)【人教版】.pdf
- 北京某公寓技术交底记录.pdf
文档评论(0)