【发布时间】:2011-03-09 16:28:36
【问题描述】:
如果我有三个班级:
A 类 B类 C类
它们都有导入语句来相互导入,即 ClassC 导入 ClassB,ClassB 仅导入 ClassA。
鉴于这种设计,ClassC 是否可以自动访问 ClassA?
【问题讨论】:
标签: iphone objective-c
如果我有三个班级:
A 类 B类 C类
它们都有导入语句来相互导入,即 ClassC 导入 ClassB,ClassB 仅导入 ClassA。
鉴于这种设计,ClassC 是否可以自动访问 ClassA?
【问题讨论】:
标签: iphone objective-c
首先:在任何情况下,import/include 都不会让一个类可以访问另一个类,它只会让 A 类了解 B 类。
第二:可见性取决于您导入标题的位置。 如果您确实在 ClassB 标头中导入了 ClassA 标头,然后在 ClassC 标头中导入了 ClassB 标头,则 ClassC 知道 ClassA。但是如果将它导入到一个实现文件中,那么答案是否定的。
编辑:应该注意最好在标题中进行类前向声明,然后在实现文件中包含适当的声明。
【讨论】: