- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计总结讲述
面向对象程序设计C++ 总结复习
百度百科-面向对象
面向对象是一种对现实世界理解和抽象的方法,面向对象的概念和应用已超越了程序设计和软件开发。
《面向对象的现代工业控制系统实用设计技术》
面向对象的编程实现C++语言描述
主 要 内 容
C++语言基础
面向过程和面向对象的编程风格
封装:类与抽象数据类型,信息隐蔽
对象的行为模型,消息传递:客户/服务模式,事件驱动。
继承
多态性
接口、重载
STL
COM组件、.NET
事件
C++语言基础
C++程序包含如下成分:
1)注释,2)include文件,3)变量,4)语句,5)函数,6)类
变量、指针和引用
例:int a=1; int *ip; ip=a; int b= a; int c; //error!
函数
1)传值:函数获得的是客户参数的一个拷贝,不会修改客户数据的原来值。
2)传地址:传递的是指向参数的指针(或地址),通过其指针可直接读写数据。
3)传引用:将变量或结构的引用作为参数传递。
函数重载、默认参数
动态内存分配 new delete
char *p1=new char ; char *p2=new char; p1= = p2 ?
异常处理
1)throw expr;
2) try
{
…..
}
catch( type expr){ …}
面向过程和面向对象的编程风格
面向过程
设计方法:自顶向下,按完成任务的思路,函数层层分解。
程序:函数,函数层层调用。
面向对象设计方法:
模拟现实世界,自下而上组装对象。主要步骤包括:
1)识别相关对象 – 抽象 – 数据类型:
识别对象时首先要考虑的是,可以用这个对象做什么。为类型选择一个类名,如果难以命名,说明你还不知道你要做什么。
将他们组织成为层次结构,例:
世界由对象组成(宝马车,冰箱,教师,数组…),并以某种形式对这些对象分类(宝马车和桑车归于小汽车,冰箱电视机归于家电类…).不同领域有不同的分类.
有各种方法分类,常常很难判断出正确的抽象级别和合理的分类层次结构. 与现实世界结构最接近的可能是最好的软件的架构.
2)定义类-面向对象语言定义类型
为类添加:成员函数(行为)、成员变量(属性),不要忘记构造析构函数。
成员变量也可以是对象,组合其他对象.
一个类型的定义应该易于正确使用,难以错误使用,定义的依据是用它做什么。
接口:一组声明的函数原型
3)实现类
大多数情况下,实现的改动远比接口的改动来得频繁。
4)类的实例化(创建对象)
类和对象不是一回事.
5) 对象的请求 ,操纵对象。 (访问其成员,调用其成员函数)
类
类定义 --- 封装
属性,包含的部件:成员变量
行为,操作:成员函数,方法
class 类名[:public 基类名]{ [private:][成员变量];[成员函数]
//私有的,只有自身类成员函数才可以访问 public:[成员变量];[成员函数];
//公有的 [protected:][成员变量];[成员函数];
//保护的,类体系成员函数才可以访问};
类对象
类是一个数据类型。
对象:类的实例,在使用一个对象前必须先实例化.
Point pt(0,0); Point *ppt=new Point(0,0);
关系
笼统-具体关系 is a :类-对象
整体-部分关系has a:成员变量是对象
数据成员
类数据成员的声明方式同变量声明相同.但
class First
{
int memi = 0; // 错误
double memd = 0.0; // 错误
};
成员函数
class Screen
{
int m_x; int m_y;
public:
void move( int, int );
void home() { m_x=m_y= 0; } //内联式
。。。
}
void Screen:: move( int x, int y ) //外联式
{ this-m_x=x; this-m_y=y;
}
成员访问信息隐藏
public,protected,private
1)外部访问对象的成员
2)成员函数访问本类的成员
3)成员函数访问基类的成员
this 指针
设类有一个int m_x;成员变量,那么n个类的实例,内存中就有n个m_x变量,m_x是this对象的成员变量.
n个类的每个实例,并不意味内存有n个类的成员函数。被产生的代码几乎和我们已经为C 库写的一样高效。
void Point::MoveTo(int x,i
文档评论(0)