oop之前的封装、继承和多态性选项 大家好:我的问题是,我们使用了什么技术 C++中的继承、封装和多态 OOP的发明。请解释,如果有任何链接共享它。 忽略“在C++之前的OOP”的意思,然后用C语言你会看到

oop之前的封装、继承和多态性选项 大家好:我的问题是,我们使用了什么技术 C++中的继承、封装和多态 OOP的发明。请解释,如果有任何链接共享它。 忽略“在C++之前的OOP”的意思,然后用C语言你会看到,oop,inheritance,polymorphism,encapsulation,Oop,Inheritance,Polymorphism,Encapsulation,void指针-C语言允许您直接寻址内存,将地址存储在指针类型的变量中。大多数指针指向已知类型,例如char*是指向字符的指针,而特殊类型void*是指向原始内存的指针。许多库将内部结构隐藏在空指针中,有时称为“句柄” 函数指针-与数据指针一样,指针可以在内存中保存函数的地址。这允许通过在变量内和变量外交换函数来分配不同的行为 结构-分组数据的主要机制。将结构与函数指针相结合可以得到“类”的基本形式,尽管没有继承或多态的魔力。通过将数据隐藏在结构中的void*后面,可以获得基本形式的封装 预处理器

void指针-C语言允许您直接寻址内存,将地址存储在指针类型的变量中。大多数指针指向已知类型,例如char*是指向字符的指针,而特殊类型void*是指向原始内存的指针。许多库将内部结构隐藏在空指针中,有时称为“句柄”

函数指针-与数据指针一样,指针可以在内存中保存函数的地址。这允许通过在变量内和变量外交换函数来分配不同的行为

结构-分组数据的主要机制。将结构与函数指针相结合可以得到“类”的基本形式,尽管没有继承或多态的魔力。通过将数据隐藏在结构中的void*后面,可以获得基本形式的封装

预处理器-通过将一种类型转换为另一种类型或动态解包,可以在预处理器中实现许多神奇的事情。空指针通常可以使用预处理器宏来访问,这些宏可以安全地解压它们

继承通常不是C编程习惯用法的一个方面,所以在C程序中很少遇到它。我见过类似的东西,它通常是通过使用某种void指针黑客来完成的,其中结构的第一个字段是指向父级的void指针,初始化函数用于将函数指针复制到临时的v表中。然而,它既麻烦又脆弱,而且C语言并不是真正设计来支持面向对象的,你可以这样做,但是管道是非常明显的


回到Oc++之前的“C++”——值得记住的是,在OOP之前没有C++。OO概念和OO语言,已经比C++长了很多。C++甚至不是纯的OO语言——它是支持OO。

在OOP发明之前的C++中可能复制的多范式语言,这不是矛盾吗?