在Objective-C中哪个类是Abstract类,我读过一些文档,其中NSObject是Abstract类,但是我们可以创建NSObject的实例,然后它是如何遵循抽象类规则的。
NSObject *obj = [[NSObject alloc] init];
NSLog(@"description = %@",[obj description]);
NSLog(@"class name = %@",[obj class]);
请建议。
我还在Objective-C中听到了另一个抽象类,这个类的名称是什么?
答案 0 :(得分:3)
Objective-C没有编译时间限制来实例化抽象类。见Creating an abstract class in Objective-C
答案 1 :(得分:0)
在Objective-C中,没有抽象类的语言级概念。您必须阅读类的文档以确定是否应将其视为抽象类。 Cocoa中有一些这样的类,例如NSObject
,NSProxy
和NSOperation
。行为在协议中而不是在抽象类中定义更为常见。
Cocoa框架包含根类(即没有超类的类)。 NSObject
是一个根类,NSProxy
是另一个。 NSProxy
未实现init
方法,这意味着当您尝试创建实例时会引发异常。