问题描述
- 为什么说C不能很好的实现数据与操作的分离
-
今天看钱能的教材是,第一章里的第二页中,有写到,程序中的数据与分离不能很好的被C实现了?
解决方案
这主要是说,C不支持面向对象,不能像C++那样定义类,把数据和对应的操作封装成独立的实体。
在C语言中,所有的数据和函数都混合在一起。
但是注意,这个是从语法层面来说的。从设计层面说,你同样可以将数据和操作分离,编写良好风格的C代码,只是你需要更多的代码和更多的注意。你可以人肉去实现面向对象的代码。
相反,用C++也不意味着你一定能做到数据和操作的分离。如果你只定义一个类,并且把所有东西都装进去,那么和C不用对象又一样了。
时间: 2024-08-09 21:07:59