在采访中,我被问到,由于可重用性是面向对象编程的主要优点之一,但它也可以通过在C语言中包含头文件来实现那么OOP可重用性和C头文件有什么区别呢?
最佳答案
如果“重用性”只是暗示代码不需要在每个代码模块中重复,那么是的C中的头文件完成了这项任务,因为它允许在一个代码模块中使用外部链接定义的函数和变量的声明在另一个代码模块中使用,而用户不必重新键入所有这些声明和/或尝试放置每个函数(通常是库的一部分)的每个定义进入每个代码模块这样就避免了代码的重复。
通过使用诸如C++和Java语言中的继承和多态的面向对象编程具有类似的效果。您只需定义一次接口和/或基类,然后就可以通过继承在另一个类中“包含”该代码此外,虚拟方法和多态性允许您编写以单个基类类型作为参数的函数,但调用实际上在派生类类型中定义的代码这实际上意味着您可以在旧代码(即接受基类类型的函数)中调用新代码(即派生类)例如,作为库开发人员,可以定义一组基类类型/接口,用户可以从这些基类派生,但仍可以在库中包含的接受基类类型参数的相同函数中有效地使用它们因此你不必重复这些功能它们仍然可以被“新”派生类使用。
关于c - C语言的头文件和面向对象编程的可重用性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8020655/