• 43.49 KB
  • 2022-08-11 发布

【笔记】OC语言学习笔记

  • 5页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
学习必备欢迎下载OC语言学习笔记(1)一、OC简介OC语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。可以使用OC开发macosx平台和ios平台的应用程序。拓展名:c语言-.cOC语言.-m兼容C++.-mm二、语法预览(一)关键字基本上所有的关键字都是以@开头的(为了与c语言的关键字区分开来),如@interface@implementation@public等,少部分没有以@开头,如id,_cmd等(二)字符串以@开头C语言字符串:“hello”OC语言字符串:@“hello”(三)其他语法基本类型:5种,增加了布尔类型Nil相当于是null,也就是0。屏幕输出:NSLog(@“hello”);//自动换行NSLog(@“ageis%d”,2);三、OC程序开发过程#import预处理指令有两个作用:(1)与#include一样,拷贝文件内容(2)可以自动防止文件的内容被重复拷贝程序编译连接过程:源文件(.m)---(编译)---->目标文件(.0)-----(链接)---->可执行文件(.out)Foundation框架。如果要使用框架中的所有头文件那么应该怎么办?包含框架的主头文件。主头文件是一个框架中最主要的头文件,每个框架的主头文件名和精品学习资料可选择pdf第1页,共5页-----------------------\n学习必备欢迎下载框架名一致。如#import运行过程如下:(1)编写OC源文件.m.c(2)编译文件cc-cxx.mxxx.c(3)链接ccxx.oxxx.o-frameworkFoundation(4)运行./a.out四、类型补充Intmain(){BOOLb=YES;BOOLb1=NO;BOOLb2=1;//YESBOOLb3=2;//NONSLog(@“%i”,b);}BOOL类型与其他类型的用法一致,BOOL类型的本质是char类型的,定义如下:TypedefsignedcharBOOL宏定义:#defineYES(BOOL)1#defineNO(BOOL)0布尔类型的输出一般当做整数来用。五、面向对象OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。(一)关于类精品学习资料可选择pdf第2页,共5页-----------------------\n学习必备欢迎下载类的设计只关注三个东西:类名、属性和方法注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识。在对方法进行类的划分中,一般采取的做法是谁最熟悉这个方法那么就把这个方法划分给谁。在OC中,对象对方法的调用称为消息机制,即向既定的对象发送了什么消息。(二)简单内存分析类创建对象,每个对象在内存中都占据一定的存储空间,每个对象都有一份属于自己的单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份存储空间,类的方法存储于此。每个对象内部都默认有一个isa指针指向这个对象所使用的类。[peat];表示给p所指向的对象发送一条eat消息,调用对象的eat方法,此时对象会顺着内部的isa指针找到存储于类中的方法,执行。isa是对象中的隐藏指针,指向创建这个对象的类。三)类的声明和实现1)类的声明:这里声明了一个Person类,这个类拥有一个@public修饰的属性(成员变量),以及一个对象方法put。精品学习资料可选择pdf第3页,共5页-----------------------\n学习必备欢迎下载#import@interfacePerson:NSObject{@publicint_age;}_(void)put;@end2)类的实现:类的声明可以理解为类中的方法的实现#import“Person.h”@implementsPerson_(void)put{NSLog(@“Helloworld,第一段程序”);}@end3)类的调用:在主函数首先创建了一个Person类型的对象,并定义了一个Person类型的指针指向创建的这个对象,之后初始化对象成员变量_age的值为22,然后调用了对象的put方法,打印输出。#import#import“Person.h”intmain(intargc,constchar*argv[]){Person*C=[[Personalloc]init];C->_age=22;[Cput];NSLog(@”开始学习啦”);精品学习资料可选择pdf第4页,共5页-----------------------\n学习必备欢迎下载return0;}精品学习资料可选择pdf第5页,共5页-----------------------

相关文档