《2022年Objective-C程序设计基础复习知识点.docx》由会员分享,可在线阅读,更多相关《2022年Objective-C程序设计基础复习知识点.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀资料Objective-C 程序设计复习学问点 考试题型:挑选题: 20 分(共 10 小题)填空题: 10 分(共 10 个空)判定题: 20 分(共 10 小题)应用题: 50 分(共 4 小题)考试范畴:Objective-C 的基本语法、 类的基本结构、 继承、复合、内存治理、 对象初始化、属性、类别、协议、代码块;详细学问点:1、 Cocoa为了将 Objective-C 与 C/C+ 代码的区分开来, 为全部的 Objective-C 函数和类型名等添加了 NS 前缀;2、 在使用
2、NSLog 语句进行内容输出进行格式掌握的时候,%c 要求的是 C 语 言的字符数组对象, % 输出的是 NSString 类对象;3、 Objective-C 的类是有声明部分(interface)和实现部分(implementation)两部分组成;两部分内容都是以关键字end表示终止;4、 一般情形下,在 Objective-C 中,接口部分的代码和实现部分的代码是放在 同一个文件中的;声明部分的代码放在 .h 的文件中,实现部分的代码放在 .m 的文件中;5、 在 Xcode 中,可以实现 C、C+和 Objective-C 的混合编程;一个程序中可 以显现 C、 C+和 Object
3、ive-C 三种代码;6、 在 Objective-C 的类中,依据方法用于的对象不同,方法可分为实例方法和 类方法;为了表示一个方法是实例方法,我们需要在返回值类型前面加符号-,为了表示一个方法是类方法, 我们需要在返回值类型前面加符号 +;并且,方法名和参数列表之间用 :隔开;例如: +NSNumber *numberWithChar:charvalue; -idinitWithName:NSString *name office:NSString *theOffice 7、 实例方法是需要通过实例化后的对象进行调用的,而类方法不需要实例化,而直接通过类名进行调用;8、 Objective
4、-C 和 Java 等语言类似,不支持类的多继承;但是可以通过类别和 协议等来达到多继承的成效;9、 将源代码拆分成由不同名称命名的小文件,有助于更快的找到目标代码段;10、#import 和class都可以解决该文件中所引用的类实例变量没有出处的问题;#import 会引入所引用类的很多信息,增加编译时间和资源; class是对所引用细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀资料类的一个声
5、明,可以解决文件代码中对该类指针的引用;所以复合类中使用class语句,继承类中使用 #import 语句;11、我们可以使用 class来建立循环以来关系, 而不能使用 #import 建立循环一 类关系;12、在复合类中,需要用 class 关键字来引入组成该类的其它的成员类对象指 针所指向的类;13、有两个 NSString 类型对象 str1 和 str2,比较两个字符串是否相等需要使用 isEqualTo;例如 str1 isEqualTo str2;假如相比较两个指针是否指向同一个 对象,可以采纳 =;例如 str1=str2;14、NSArray 中只能储备 Objective-
6、C 的类对象,而不能储备 C 语言或者 C+ 中的基本类型;例如:NSString 对象可以储备在 NSArray 中,而 C 语言中的 int、double和结构体类型是不能储备在 NSArray 中的;15、另外,由于 NSArray 中是以 nil 表示终止的,所以不能讲 nil 存入 NSArray 中;16、在进行实例化对象时,一般是分为声明对象、为对象安排空间、对象初始 化三步;有如下 Car 类对象,是依据上述三步进行实例化的:Car *car ;car=Car alloc;car=car init;也可以将上述代码的三步合成一步进行书写Car *car=Car alloc in
7、it; 17、程序的内存占用量不断增加,最终内存会被耗尽并导致程序崩溃称为内存泄露;18、Cocoa中采纳引用计数来表示对象所占用的内存空间何时需要被释放;19、在使用 alloc、new 和 copy创建一个新对象的时候,该新对象的引用计数器的值为 1. 20、通过向已存在的对象发送 retain 消息,来将该对象的保留计数器的值 +1;发送 release消息,来将该对象的保留计数器的值-1;21、垃圾回收机制是在程序运行时起作用,而ARC 是在编译阶段起作用; ARC机制会在编译的时候依据代码的情形插入 retain 和 release语句;22、引用分为强引用和弱引用;强引用的循环引用
8、由可能引起内存泄露,而弱 引用的循环引用可以防止内存泄露;23、一个类可以有多个初始化方法;但是在众多的初始化方法中需要有一个指 定初始化方法,一般情形下是采纳参数最多的方法作为指定初始化方法;而该类的其它初始化方法需要调用该指定初始化方法进行初始化,子类的初始化方细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀资料法也需要调用父类的指定初始化方法进行初始化;24、在为一个类定义属性的时候,系统会
9、依据每个实例变量的具属性来打算是 否要生成 getter 或 setter 方法;例如, property readonly float number;系统 就只会为 number 生成 getter方法,而不会生成 setter 方法;25、通过类别可以向现有类中添加实例方法,但是不能添加实例变量或转变属 性;26、通过类扩展可以给现有类添加实例变量,也可以修改属性的读写权限,而 且创建数量不限;27、相比函数,代码块可以更加便利的实现并发性;应用题编程题:1、 类的定义与实现:有一个 Student 类,该类包含的实例变量和实例方法如下:学号: number ( float 类型)、只读(
10、只有 getter 方法)姓名: mane ( NSString 类型)、可读可写(有 getter 和 setter 方法)2、属性和初始化方法的使用 定义一个 Teacher 类表示老师,该类包含:实例变量 num (工号),只读;实例变量 Name(姓名),可读可写;实例变量 office(教研室),可读可写;使用属性 property 设置每个实例变量的拜访属性(读写属性);-(id) init;(无参初始化方法) ,-(id)initWithName : office;(两个参数的初始化方法,并且作为指定初始化方法);3、协议的使用 定义一个基于 NSObject 名为 Userma
11、nagement 的协议,该协议中包含:1 个必需实现的重置密码的方法:-(void)resetPSW;2 个可选实现的方法:-(void)changePSW:(NSString * ) newpsw;-(void)changeUsername:( NSString * )newUsername;用适当的关键字标记上面三个方法;定义一个User 类,该类包含两个成员变量UserName 和 PassWord;并在该协议中采纳Usermanagement 协议;4、代码块的使用 用 Objective-C 的代码块技术对下面的工程代码进行重写;#include 细心整理归纳 精选学习资料 - -
12、 - - - - - - - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -名师精编 优秀资料int mainint argc, const char * argv int maxint a,int b,int c; int minint a,int b,int c; int a,b,c; int maxmum,minimum; printf 请输入三个数:; scanf%d%d%d,&a,&b,&c; maxmum=maxa,b,c; minimum=mina,b,c; printf 最大值是 %d ,最小值是 %d ;,maxmum,minimum; return 0; int maxint a,int b,int c int m=a; if bm m=b; if cm m=c; return m; int minint a,int b,int c int m=a; if bm m=b; if cm m=c; return m; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 4 页 - - - - - - - - -