我门都知道,C++是一门面向对象的编程语言,而C语言是面向对象是过程的语言。那么面向对象和面向过程到底有什么区别呢?下面会举例来说明这个问题:
这里有一个提问:把可乐放进冰箱需要哪几步?
先说说C语言的编程思想,就是按照过程一步一步来,这个整体的感觉是你自己做了所有的事情:
- 打开冰箱门 → 2. 放入可乐 → 3. 关门。
C++面向对象则不同,它会将冰箱当做一个对象,创建一个类,再将可乐当做一个对象,创建一个类。
程序的实现思想就是:
2. 冰箱对象将自己的门打开 → 可乐对象进去了 → 冰箱对对象把门关上。
对象:是一个整体的概念,在C++编写的时候实际上创建一个类,这个类描述的就是这个对象。比如学生类,并没有说具体是哪一个学生:
class Student{
public:
std::string name; //姓名
int age; //年龄
int score; //分数
void printname()
{
std::cout << this->name;
}
};
会发现这个类的结构和C语言中的结构体很像,只不过有些不同,同时还有public这样的标签。复杂的先不说,后面会慢慢提到。现在是理解对象的时候,就把他当作一个结构体来用。
假设我现在要统计学生的信息,那么我就需要创建一个学生对象,这个对象就是初始化的时候信息就是那个具体学生的信息,不论有多少个学生都可以,因为他们都属于学生,有共同的一些属性。
#include <iostream>
#include <string>
class Student{
public:
std::string name; //姓名
int age; //年龄
int score; //分数
void printname()
{
std::cout << this->name;
}
};
int main()
{
Student stu1; //创建第一个学生对象
stu1.name = "小明";
stu1.age = 16;
stu1.score = 89;
stu1.printname(); //调用自己的打印函数,打印自己的信息
Student stu2; //创建第一个学生对象
stu2.name = "小红";
stu2.age = 15;
stu2.score = 83;
stu2.printname(); //同上
return 0;
}
结果如下:
![]()
这就是C++面向对象的编程思想,对象的属性和可以执行的操作都被封装在了类中,只需要创建一个对象,然后就可以调用需要的方法。
反过来再看冰箱的问题:那么按照面向对象的思想,冰箱是一个对象,可乐是一个对象,关门和开门这个动作则是冰箱这个对象内置的一个函数,功能就是将某一个东西放入冰箱,不一定是可乐,也可能是苹果,也可能是大象。这整个过程实际就是两个对象的交互的过程。
所以在C++编程的过程中,万物皆对象。
986

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



