为什么要在 C 语言里谈面向对象
一提到面向对象,很多人第一反应是 C++、Java、Python 这些语言。其实,C 语言本身没有 class、private、virtual 这些关键字,但面向对象首先是一种思想,而不是某门语言的专利。
在 C 语言里,我们完全可以用结构体 + 函数指针 + 命名约定来模拟面向对象的核心机制:封装、抽象、以及“把数据和行为绑定在一起”。理解了这一点,后面学习 C++ 的 class 时,你就会明白:C++ 并不是凭空创造了面向对象,它只是把 C 语言里“手动实现”的东西变成了语法糖。
2026/7/8大约 9 分钟