第 8 章 类和对象
对象的两要素:属性(静态特征),行为(动态特征)。发送消息,使得属性实现某一行为。
C++中的对象有数据和函数组成。特点:封装和信息隐藏。类是对象的抽象,类是模板,不占内存,对象是类的实例,是类的具体表现形式,对象占内存。C++提供了继承机制,重用是使用继承的策略。
多态性:由继承而产生的相关的不同类,其对象对同一消息会做出不同的响应。
C++是“带类的C”,类是所有面向对象语言的共同特征。类是C++的灵魂。C++支持面向过程也支持面向对象。
基于类和对象,再利用继承机制和多态性,就成面向对象程序设计了。
对象 = 算法 + 数据结构
程序 = 对象S + 消息
面向对象的软件开发流程:
1 面向对象分析,找出对象以及对象之间的联系
2. 面向对象设计,整体的设计,写出流程图
3. 面向对象编程,实现小模块
4. 面向对象测试
5. 面向对象维护
类的声明形式:
class 类名
{private :
}
定义对象最常用的方法是先声明类型,然后再定义对象。
用struct 和class 定义的类有区别,struct定义的默认是public(公用的),class默认是private(私有的)。
在类外定义成员函数
void Student::display()
其中Student 是类名,“::”是作用域运算符。类函数必须在类体中做原型声明,然后才可以在类外定义。也就是类体的位置要在函数定义之前,否则编译通不过。多于3行的函数,一般在类体内声明,在类外定义,这样可以减少类体的长度使类体清晰。
在类体中定义的函数如果满足inline条件就默认是这种情况,在类体外定义的则不默认。
每个对象所占的存储空间只是该对象的数据部分所占的存储空间,而不包括函数代码所占的空间。函数代码空间是所有对象所共享的,声明inline只是说在调用该函数时,将函数代码段复制到调用点,如果不指定inline则在调用该函数时就跳转到该函数入口点。
封装实现安全是把接口的实现过程编译成目标文件放进类库中,使得用户看不见源代码,就看不见接口是怎么实现的了,只给使用者留下接口。
本文介绍了C++中面向对象编程的基本概念,包括类和对象的定义、封装、继承及多态性的应用,并概述了面向对象软件开发流程。

267

被折叠的 条评论
为什么被折叠?



