【答案】 Objective-C面向对象程序设计 第九章 高级部分—数据模型创建 测验:期末测验

第1题 单选题

多态中使用()处理异常

A. @try

B. @throw

C. error

D. @catch

第2题 单选题

将一个变量定义为特定类的对象时使用

A. 静态类型

B. 动态类型

C. 全局类型

D. 局部类型

第3题 单选题

使用动态类型调用一个方法,注意的规则

A. 在多个类中,实现名称相同的方法,那么每个方法都必须符合各个参数的类型和返回值类型

B. 在多个类中,实现名称相同的方法,只需注意是否符合各个参数的类型

C. 在多个类中,实现名称相同的方法,只需注意是否符合返回值类型

D. 以上都不对

第4题 单选题

在面向对象的方法中,类之间共享属性和操作的机制称为

A. 耦合

B. 继承

C. 封装

D. 多态

第5题 单选题

以下说法正确的是:

A. 所有的类都直接或间接继承于NSObject

B. NSObject中的方法,都可以在子类中被重写

C. NSObject提供了最基本的一些方法

D. 以上说法都对

第6题 单选题

如果Xiaoma类继承于NSString类,则Xiaoma类是NSObject类的_______,NSObject是Xiaoma类的________

A. 子类超类

B. 父类超类

C. 超类父类

D. 超类子类

第7题 单选题

继承的使用注意下列正确的是

A. 编译器从上往下执行,所以在子类前面至少应该要有父类的声明

B. OC中允许子类和父类拥有相同名称的成员变量名

C. OC中的子类不可以拥有和父类相同名称的方法在子类调用时,优先去自己的内部寻找,如果没有则一层一层的往上找

D. 以上说法都不对

第8题 单选题

下列关于关键字super说法不正确的是

A. 在子类中重写方法时,可以让调用者跳过这一层而调用父类中的方法

B. 直接调用父类中的某一个方法

C. Super处在对象方法中,那么就会调用父类的对象方法

D. super处于类方法中,那么就不会调用父类的类方法

第9题 单选题

继承的缺点

A. 耦合性太强

B. 耦合性一般

C. 耦合性很差

D. 以上说法都不对

第10题 单选题

Objective-C中定义类,下列说法正确的

A. @interface用于声明定义类的接口,@implementation用于声明定义类的实现

B. 类实现部分的类名不必与类接口部分的类名实现

C. 类实现部分可以声明自己的成员变量,这些成员变量可以再任何一个类中访问

D. 类实现部分可以不必为类声明部分中的方法提供定义

第11题 单选题

下列对@property说明正确的是

A. @property是一种代码生成机制,能够生成不同类型的getter/setter函数

B. @property指示符可以放在定义属性的最前面,也可以放在定义属性的最后面

C. @property定义属性时无需放在类接口的花括号里,也可以放在@interface、@end之外定义

D. 在类接口部分使用@property指令定义属性,则必须在类实现部分使用@synthesize指令声明属性

第12题 单选题

Objective-C使用点运算符说法正确的

A. 点语法只可以对属性赋值,不可以访问属性

B. 调用对象有getter方法时,程序可以通过点语法来设置对象的属性

C. 调用对象有setter方法时,程序可以通过点语法来获得对象的属性

D. 使用@property、@synthesize分别定义、声明的属性值,可以用点语法调用

第13题 单选题

如果子类对父类的方法进行重写,那么子类对象在调用该方法时,则调用

A. 父类该方法

B. 子类该方法

C. 两者都调

D. 两者都不调

第14题 单选题

下列方法中,与[[Class alloc] init]等价的是

A. [Classinitialize]

B. [Classload]

C. [[Classalloc]copy]

D. [Classnew]

第15题 单选题

下列叙述正确的是

A. 全局变量的作用域一定比局部变量的作用域范围大

B. 静态类别变量的生存周期贯穿整个程序的运行期间

C. 函数的形参都属于全局变量

D. 未在定义语句中赋初值的变量和static变量的初值都是随机值

第16题 单选题

关于OC中的类目,一下说法错误的是

A. 方便程序员理解程序框架、查看和了解方法所在位置

B. 便于扩展现有类的方法,不需要访问类的源代码,也无法创建子类

C. 用于扩展成员变量

D. 不必实现分类中的所有方法

第17题 单选题

下列说法正确的是

A. 延展可以在没有源代码的情况下,在原有类里面添加变量,方法和属性

B. 延展是匿名的类目

C. 延展可以声明变量,属性和方法

D. 延展包含了方法的实现代码

第18题 单选题

Objective-C语言中协议是

A. 所有类的基类

B. 两个类之间的通讯方式

C. 一组没有实现的方法列表

D. 将一个类中某个方法的实现放到另一个类里

第19题 单选题

Category可以

A. 在没有类的源代码情况下,往现有类中添加方法和属性

B. 实现类的多重继承

C. 将类的实现分开到多个文件中

D. 向已有类中添加新的变量

第20题 单选题

以下对于代理的理解不正确的是

A. 代理的基本实现思路就在调用A的方法时,去调用B方法

B. 代理是一种设计模式

C. 代理就是A做的事情让B去做

D. 代理必须和协议一起使用

第21题 单选题

以下哪个选项表示空对象

A. [NSNullnull]

B. "null"

C. nil

D. NSNull

第22题 单选题

对static关键字说法正确的

A. static用于对静态变量的声明,变量只在程序开始执行时初始化一次,并且在多次调用方法时保存这些数值

B. 在Objective-C的语法中声明后的static静态变量在其他类中能通过类名直接访问的

C. static声明的静态变量若不为其赋值,其默认值为垃圾值

D. static关键字声明的变量不必放在implementation外面

第23题 单选题

判断对象是否是指定类的子类

A. -(id)perfromSelector:selector

B. +(BOOL)isSubclassOfClass:class-object

C. +(BOOL)respondsToSelector:selector

D. +(BOOL)iskindOfClass:class-object

第24题 单选题

以下有( )个方法,在初始化NSArray的时候,可以创建长度为1的数组 [NSArray arrayWithArray:] [NSArray arrayWithObject:] [NSArray arrayWithObjects:] [[NSArray alloc]init]

A. 1个

B. 2个

C. 3个

D. 4个

第25题 单选题

假设有以下语句 typedef struct S {int g; char h;} T 则下列叙述中正确的是

A. 可用S定义结构体变量

B. 可用T定义结构体变量

C. S是structS类型的变量

D. T是structS类型的变量

获取答案请阅读全文

获取答案 需要支付:¥15

未经允许不得转载!【答案】 Objective-C面向对象程序设计 第九章 高级部分—数据模型创建 测验:期末测验