1 软件概述
一个软件的生命期包含:需求分析、设计、编程、测试、运行维护这五个部分
程序的设计方法包括两种:结构化程序设计和面向对象的程序设计。
结构化程序设计归结为:程序=算法+数据结构,面向过程,数据与程序分离;设计的基本思想是自顶向下、逐步细化的设计方法和单入单出的控制结构。
面向对象程序设计是将数据和对数据的操作方法放在一起,形成一个相对独立的整体——对象(object),同类实体可抽象出共性,形成类(class),一个类的数据通常只能通过本类提供的方法进行处理,这些方法成为该类与外部的接口。对象之间通过消息(message)进行通讯。
其中面向对象的程序设计有三大特点。
- 封装性:建立类,支持封装和数据隐藏,每一个定义完好的类可以作为一个独立模块使用,并对外提供一定的接口。
- 继承与派生性:类变为基类,新类称为子类或派生类,是对基类中部分属性和操作的增加或修改,其中新类只需描述自己所特有的属性和操作即可,派生可以一直进行下去,形成一个派生树。
- 多态性:同一个消息被不同对象接收时,产生不同结果。即实现同一接口,不同方法。
2 类与对象
关键字class与C语言中的结构体struct类似,是数据类型说明符。其将类定义成一个变量,这个变量就叫对象,这个定义的过程就叫实例化。
class 中访问限定符有三种:public(公有)、private(私有)、protected(保护)。前一种可以从外部访问,后两者不能。如果无访问限定符,则系统默认为private(私有),而在C中的struct默认为public(公有)。访问说明符private(私有)和protected(保护)体现了类具有封装性,即把变量和操作的函数都放在类里。
一般情况下,在public中书写的是给用户提供的方法和可执行的操作,相当于接口;而在private里书写的是成员变量,是操作的目标。
class CGoods
{
public: //给用户提供的方法,哪些操作
void RegisterGoods(char name[],int,float); //输入数据
void CountTotal(void); //计算商品总价值
void GetName(char[]); //读取商品名
int GetAmount(void); //读取商品数量
float GetPrice(void); //读取商品单价
float GetTotal_value(void);
private: //有哪些成员(可操作的变量)
char Name[21];
int Amount;
float Price;
float Total_value;
}