【发布时间】:2013-08-20 13:54:58
【问题描述】:
我有两个班级,Food 和 Nacho。 Food 是 Nacho 的超类。
Food *junk = [[Nacho alloc] init];
只要我调用Food的方法就有效,对吧?
但是为什么Food 指针可以调用Nacho 的方法之一(在子类中定义为附加方法)?
- 已修复,已从类名中移除“NS”前缀。
【问题讨论】:
-
旁注 - 我知道这是一个示例,但让
NSSon类扩展NSMom类实际上是一个糟糕的 OO 设计。 “儿子”不是特定类型的“妈妈”。NSSon和NSMom可能会共享一个公共基类。 -
我明白你的意思,他们实际上并没有分享 Person 和 Student 之类的东西,但感谢您的评论:)
-
另外注意:
NS前缀是 Apple 保留的。 Apple 建议在您自己的类名前加上三个或更多字母。见Programming with Objective-C。
标签: objective-c methods subclass superclass derived-class