面向对象与面向过程的区别

面向过程的设计方法

重点:**
面向过程主要是围绕着 问题的解决过程 分析问题。 如何实现的细节和过程,
将数据与函数分开。
形式:
 主模块+ 若干个子模块(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 该类的对象访问.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值