为什么你必须在目标C中编写接口和实现而不仅仅是实现

时间:2012-07-08 11:27:46

标签: objective-c oop

我想知道,为什么在Objective C中为每个calss编写接口和实现是如此重要。在其他语言中,这种技术只是可选的。

2 个答案:

答案 0 :(得分:2)

在Objective-C中,编写接口也是可选的(声明方法也是如此),尽管编译器可能会警告你。编写接口允许其他人重用代码的二进制形式,而无需重新编译它;这样,您还可以隐藏重用您的类的实现详细信息/代码。此外,如果只使用自己的类,编译器在编译时可能需要一些关于您编写​​的类的信息(尽管Objective-C是动态语言) - 在这种情况下,您不能包含整个实现文件,因为它会导致重复整个类,导致链接器错误。同样有理由为任何C库提供头文件。

答案 1 :(得分:1)

接口描述了其他类及其实例如何与您的类及其实例进行交互。你可以只是创建实现,但这会破坏OOP的目的。