目录
0 . 基本概念
面向对象编程(OOP)是一种特殊的、设计程序的概念性方法。
OOP特性:
- 抽象
- 封装和数据隐藏
- 多态
- 继承
- 代码的可重用性
过程性编程:
过程性编程方法,首先考虑要遵循的步骤,然后考虑如何表示这些数据。
(并不需要程序一直运行,用户可能希望能够将数据存储在一个文件中,然后从文件中读取数据 )
OOP编程:
首先考虑数据,不仅要考虑如何表示数据,也要考虑如何使用数据。
用户与数据交互的方式有三种:初始化、更新和报告---用户的接口。
采用OOP方法,首先从用户的角度考虑对象--描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后使用新的设计方案创建出程序。
1. 抽象和类
将问题的本质特征抽象出来,根据特征来描述解决方案。
抽象是通往用户定义类型的捷径,在C++中,用户定义类型指的是实现抽象接口的类的设计。
1.1 类型是什么
指定基本类型完成了三项工作:
- 决定数据对象需要的内存数量
- 决定如何解释内存中的位(long和float在内存中占用的位数相同,但将它们转换为数值的方法不同)
- 决定可使用数据对象执行的操作或方法
1.2 C++中的类
类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
类规范由两个部分组成:
- 类声明:以数据成员的方式描述数据部分,以成员函数的方式描述公有接口
- 类方法定义:描述如何实现类成员函数
什么是接口?

类名首字母大写
1.3 stock00.h
// stock00.h -- Stock class interface
// 版本 00 类的声明
#ifndef STOCK00_H_
#define STOCK00_H_
#include<string>
class Stock
{
public:
void acquire(const std::string & co, long n, double pr);
void buy(long num, double price);
void sell(long num, double price);
void update(double price);
void show();
private:
std::string company;
long shares; //股票数量
double share_val; // 每股的价格
double total_val; //股票的总价格
void set_tot()
{
total_val = shares*share_val;
}
};
#endif

1.3.1.访问控制


1.3.2 控制对成员的访问:公有还是私有
隐藏数据是OOP主要目标,因此数据线通常放在私有部分,组成类接口的成员函数放在公有部分,否则就无法调用。
不必在类声明中使用privte关键字,这是类对象的默认访问控制。
类与结构的区别


4832

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



