## 面向对象及类
- 面向过程的语言(C语言),大多用到函数来完成整个程序。
- 面向对象的语言(C++, Java, python, C#), 以一个又一个的类为中心,把它组合起来,最后组成一个程序,当然也会涉及到很多函数,但是主要以类为中心。
- 像新兴的go语言,也有面向对象的概念,但是和上面介绍的语言还是有一些区别,只是说它自己创造了一些新的东西,并且在写法上也会有显著的区别,但是他还是可以归为面向对象语言。
- 相比较而言,面向对象的语言会比面向过程的语言多,就是因为面向对象的语言以类为单位,所以开发性较强。
- 在面向对象的语言中,如果把C++语言可以较好的掌握之后,那么剩下的语言自学完全可以掌握。
- 什么是对象?
对象=数据(数据类型)+行为(函数)
将“对象”这一抽象的概念,用生活中的例子来举例,比如洗衣机,电冰箱。
首先引入为伪代码:程序不能运行,但是可以清楚地看出写程序的人的意图和想法。
我们可以编写一个程序来描述洗衣机或者电冰箱。
洗衣机:
功能:洗衣服
外观:类型:滚筒或波轮
品牌:小天鹅,海尔
长,宽,高
型号
首先用C语言来编写:
struct 洗衣机
{
int nwidth;
int nHeight;
int nLength;
int nType;//尖型 (滾筒,波発)
int nBland;// 品牌
};
//可以看出来,结构体可以表述它的外观,但是却不能描述它的功能,所以接下来我们要写一个函数,让它来表示它的功能
void洗衣服(洗衣机,衣服)
{
… …
}
洗衣机 海尔洗衣机
洗衣服(海尓洗衣机,脏衣服);
可以看出这个程序始终在围绕着函数来写,是明显的面向过程语言,及C语言的表达方式。
但是这样写的话,有很明显的缺陷,那就是洗衣机和洗衣服的关联性不强。
那么就有可能会出现下面这种情况
冰箱 海尔冰箱
洗衣服(海尔冰箱, 脏衣服);
所以可以看出C语言是没有这种表达方式的
C++编写:
struct 洗衣机
{
int nwidth;
int nHeight;
int nLength;
int nType;//尖型 (滾筒,波発)
int nBland;// 品牌
void 洗衣服(衣服)
};
洗衣机 海尔洗衣机
海尔洗衣机. 洗衣服(脏衣服) ;
可以看出用C++就可以完美的解决洗衣机洗衣服这个程序
类:洗衣机 (既包含了属性 有包含了方法)
对象:海尔洗衣机(具体的事物)=数据(它的外观属性)+行为(洗衣服)
本文探讨了面向过程与面向对象编程的区别,以C语言和C++为例,解释了面向对象语言如何以类为中心。通过洗衣机的例子,展示了C语言中面向过程的实现和C++中面向对象的实现,强调了面向对象编程的强关联性和易扩展性。
197

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



