面向过程的设计方法
重点:**
面向过程主要是围绕着 问题的解决过程 分析问题。 如何实现的细节和过程,
将数据与函数分开。
形式:
主模块+ 若干个子模块(main()+ 子函数)。
特点:
自顶向下,逐步求精—— 功能分解。
缺点:
效率低,程序的可重用性差。
什么是面向对象
面向对象(Object Oriented, OO) 的程序设计的思路和人们日常生活中处理问题的思路是相似的。在自然世界和社会生活中,一个 复杂的事物总是由许多部分组成 的 。
当人们生产汽车时, 分别设计和制造 发动机、底盘、车身和轮子,最后把它们 组装 在一起。在组装时,各部分之间有一定的联系,以便协调工作。
面向对象的程序设计的基本思路: 使用现实世界的概念 抽象地思考问题从而自然地解决问题。
现实世界是有各种 实体 组成。如一个学校,有学生、教师、各种教学辅助设施等等不同的实体组成
实体之间通过 消息传递 (教师学生布置作业即是发送了消息,)进行沟通交流,相互协作完成某项任务。
类的概念
类是对象的抽象。
相同特征 的一组 对象 进行 抽象 形成了 类 。
抽象的概念
抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。
抽象实例——圆
数据抽象:
float r;
代码抽象:
radius (); perimeter(); area();
SetRadius (); GetPerimeter(); GetArea();
抽象实例—— 钟表
数据抽象:
int Hour,int Minute,int Second
代码抽象:
SetTime(),ShowTime()
抽象实例——人
数据抽象:
char *name,char *gender,int age,int id
代码抽象:
生物属性角度:
GetCloth(), Eat(), Step(),…
社会属性角度:
Work(), Promote() ,…
c++类的声明形式
类是一种用户自定义类型,声明形式:
class 类名称
{
public:
公有成员(外部接口)
private:
私有成员
protected:
保护型成员
} ;
注意类定义必须以分号“;”结束。
那么c++ 中为什么要定义public, protect, private 三种访问权限?
**(1)**有些需要给外面看的,也就是对外接口,那么就是public, , 如果没有,那么我们做的工作将是毫无意义的,(别人没法用)。
(2) 如果不想让别人知道内部的实现细节,那么就是private, , 如:
public:
count()
{ mycount();}
private:
mycount();
这样,count 是对外的接口,而实现的时候,我们不想让外面知道怎么实现的,就用private, , 防止它用mycount。 。
**(3)**如果不想让别人知道,想让自己的孩子什么的知道(这里涉及到继
承),那么就可以作为protected
这样,private 是自己私有的,protected 是可以让孩子知道的,public是 是
公开的!
三种访问控制的特点
private :只能由
1该类中的函数、
2. 其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。
protected :可以被
1 该类中的函数、
3. 派生类的函数、以及
4. 其友元函数访问。但不能被该类的对象访问。
public :可以被
1 该类中的函数、
2 派生类的函数、
3 其友元函数访问,也可以由
4 该类的对象访问.