首页 > 试题广场 >

下面关于类扩展的说法正确的是:( )

[不定项选择题]
下面关于类扩展的说法正确的是:( )
  • 类扩展是分类的一个特例。类扩展与分类相比只少了分类的名称,所以称之为“匿名分类”。
  • 类扩展不仅可以增加方法,还可以增加实例变量(或者属性),该实例变量使用范围是:自身类或子类。
  • 类扩展不能像类别那样拥有独立的实现部分@implementation部分,也就是说类扩展所声明的方法必须依托对应类的实现部分来实现。
  • 类扩展中声明的方法没被实现,编译器会报警,但是类别中的方法没被实现编译器是不会有任何警告的。这是因为类扩展是在编译阶段被添加到类中,而类别是在运行时添加到类中。
这题选ACD
A)Extension是Category的一个特例。类扩展与分类相比只少了分类的名称,所以称之为“匿名分类”。
B)类扩展不仅可以增加方法,还可以增加实例变量(或者属性),只是该实例变量默认是@private类型的(用范围只能在自身类,而不是子类或其他地方);
C)类扩展不能像类别那样拥有独立的实现部分(@implementation部分),也就是说,类扩展所声明的方法必须依托对应类的实现部分来实现。
D)类扩展中声明的方法没被实现,编译器会报警,但是类别中的方法没被实现编译器是不会有任何警告的。这是因为类扩展是在编译阶段被添加到类中,而类别是在运行时添加到类中




编辑于 2019-04-11 11:05:37 回复(0)
D 也是错的,会有警告。
编辑于 2020-04-26 10:12:30 回复(0)