当您创建抽象类时来自java背景,并且有人使用它们并用它们的值覆盖它们:在目标c中......您如何在静态库中创建一个抽象类以供某人打开和覆盖?谢谢
编辑:更具体地说,他们如何在他们的方法中实现该方法并覆盖这些值以供自己使用?再次抱歉,如果这很容易,我来自 java 背景
当您创建抽象类时来自java背景,并且有人使用它们并用它们的值覆盖它们:在目标c中......您如何在静态库中创建一个抽象类以供某人打开和覆盖?谢谢
编辑:更具体地说,他们如何在他们的方法中实现该方法并覆盖这些值以供自己使用?再次抱歉,如果这很容易,我来自 java 背景
与其他一些语言不同,Objective-C 没有将类标记为抽象的语法,也不会阻止您创建抽象类的实例。
只需在文档中说它打算被子类化而不是这样使用。
Cocoa 不提供任何称为抽象的东西。我们可以创建一个类抽象,它只在运行时检查,编译时不检查。
这里只是一个尝试:
@interface AbstractClass : NSObject
@end
@implementation AbstractClass
+ (id)alloc{
if (self == [AbstractClass class]) {
NSLog(@"Abstract Class cant be used");
}
return [super alloc];
@end
注意:这不是编译器检查的。
我自己来自 Java 背景,当我第一次开始使用 Objective-C 时,我也在寻找同样的东西。我发现这回答了我的问题:
简短的回答,Objective-C 中没有抽象类(至少在 Java 上下文中)。