Objective C中的接口有什么意义?

Ale*_*Ale 2 objective-c

我已经编写了Objective C近一年了,我从来没有机会将Interface(.h)用于其他目的,而不是声明几乎与在Implementation( .m)中可以找到的类结构相同.

由于我来自其他语言而没有Objective C接口这样的东西,我想知道是否有一些或几种用途我缺少或者这只是一种惯例,这种特定的语言可能从它的前辈继承.

谢谢!

Pat*_*ick 5

您的界面是该类的公共API.无法从类外部访问界面中未声明的任何内容.如果您在C++或Java方面考虑更多,那么.m文件中的所有内容(未在.h中的@interface中声明)都是私有的.这就是为什么你不会在Objective-C中经常看到关键字@private,@ public或@protected.

无论你在界面中放置什么,你打算让你的班级用户使用它,仅此而已.这遵循最小特权原则.

您还可以将@interface视为您班级的文档.