C语言是面向过程的语言,可以用来实现面向对象么?答案是肯定的。
面向对象的本质是一种设计思想,与具体的语言没有多大的关系。C语言不是面向对象语言却也可以用来实现面向对象思想的。
有人会觉得用C实现面向对象,充其量是模拟面向对象的语法,而不是像C++那样真的面向对象的。这也算是不太正确的看法的。
为什么这么说?
请先看看C++的类与对象吧
class student
{
public:
Int getNum()
{
}
private:
Int num;
};
这是一个基本的C++类的声明,当使用这个类定义一个东西的时候,如:
student one;
编译器也就为one 这个对象只为数据成员分配了空间,即为 int num; 分配了空间,
没有为所谓 getNum()方法来分配任何东西的。
如果用C来写,就可以这样写:
struct student
{
Int num;
};
Int getNum()
{
}
用C写的这段code与C++写的那段code本质是等效的。
不过,有人要说了,C++声明的student类会有构造函数及析构函数,你的C语言就没有。。
OK,我们先给上述C++的code加上一个构造函数。
class student
{
public:
s
深入浅出C语言(6)----C语言实现面向对象
最新推荐文章于 2023-04-04 13:14:43 发布