【发布时间】:2011-01-05 19:05:59
【问题描述】:
有 3 个修饰符:@private、@protected(默认)和@public。习惯于在 C++ 和其他更理智的语言中这样做,我总是在我的领域使用@private。我几乎没有(如果有的话)在 Apple 的 SDK 示例中看到这一点——它们只是依赖于默认的。
有一天,我意识到 Objective-C 继承是相当虚假的特性:从另一个接口派生接口并不意味着所有私有字段现在都可以重新定义。编译器仍然可以看到它们,并且不允许定义具有相同名称的新私有字段,这与 OOD 中的经典封装范式正交。
所以我有点沮丧。也许我对这门语言的期望太高了,因为它只不过是标准 C 的基础。
那么你在你的代码中使用@private 吗?为什么?
【问题讨论】:
-
...C++....sane??....doesnotcompute...
-
好吧,与 Objective C 的理智相比 :) 我现在主要使用 C#。
-
C++ 与 Objective-C 相比并不健全,只是你对 Objective-C 的了解还不够。 Objective-C 是一门小巧的语言。 :)
-
我应该发布另一个问题吗? :)
-
@Schultz9999:我说的是 C++。我在问在什么情况下有两个同名的私有成员变量有用?如果它们具有相同的名称,为什么它们不是一个常见的或更具有描述性的名称?我问是因为我是 C++ 新手,我想不出有两个同名私有成员变量是个好主意的任何情况。
标签: iphone objective-c ios