iOS笔记:第九篇 OC 简介
2015-04-05 17:25
295 查看
第一节 OC简介
1.OC简介
1)OC是在C语言基础上增加了面向对象的语法
2)OC是一门面向对象的语言
2.第一个OC程序
2.1 #import 导入文件
功能与#include类似,但是它可以自动防止文件的重复包含
#import 用法与#include相同
#import <> 包含系统的头文件
#import ""包含自己项目中的头文件的
2.2 NSLog()函数:是OC提供的用于日志输出的函数,与printf类似
相同点:都是向控制台输出内容,都支持格式化输出
不同点:
->printf函数中的格式化字符串,是C语言的字符串
->NSLog中的字符串是一个NSString的对象,表现形式@"格式化字符串"
->NSLog比printf多了一种格式符(占位符)%@ 作用:用于输出对象
->NSLog自动换行
->带有日志信息
2.3 NS 前缀:在Foundation中所有类或全局的函数都是以NS开头
OC前缀的作用:为了区分不同项目中使用到相同的名字东西(全局函数,结构体,枚举,类...)
2.4 @作用:
1)在OC中大部分关键字都是以@开头
2)@快速创建不可变对象,只有系统提供特定的对象才能使用@符进行快读创建(@""快速创建一个NSString的对象)
3.OC与C语言的对比
->源文件对比
C语言 .h头文件 .c实现文件 OC .h头文件 .m支持OC与C语言混合编程 .mm支持OC与C++混合编程
->关键字:OC中增加了很多以@开头的关键字
->数据类型的对比
基本上所有的数据类型都可以定义变量,都可以作为函数行参类,做为函数的返回值类型
BOOL 逻辑类型 只有两个取值 YES(1)真 NO(0)假
NSObject * 对象类型
->流程控制:C语言所支持的流程控制OC都支持
OC增加了forin(增强for循环),用于遍历OC的集合对象(NSArray(数组),...)
->函数对比
C语言:函数 返回值类型 方法名称 (行参类型 行参名称 ...)
OC : 方法 方法类说明符(返回值类型) 方法名1withxxx:(行参类型) 行参名称;
对象方法:以 - 开头
所有方法声明中,遇到数据类型都要使用()括起来
一个:对应一个参数
类方法:以 + 开头
第二节 面向对象
1.面向对象的特点:强调是具有某种功能的对象
关注:当需要解决某个问题时,首先要考虑要什么样的对象,然后指挥对象做事情
2.使用面向对象的语言进行软件开发的步骤:
1>从现实生活中的对象中-抽象->类(类名,属性,行为—)->使用OC语法定义类->使用类创建对象->指挥对象做事情
2>在OC中类和对象关系:只有有了类才能创建对象
3>类定义:
类的声明
作用:
1)声明成员变量(实例变量),作用:当创建对象的时候,方便为这些对象分配存储空间
2)声明方法
格式:@interface 开头,以@end结尾
声明成员变量,必须在大括号中
声明方法,必须在大括号下面
@interface 类名 : NSObject
{
// 需要声明的属性:格式:数据类型 成员变量名称;
int _height;
}
//声明对象方法
- (返回值类型) 方法名称;
@end
类的实现
格式:@implementation 开头,以@end 结尾
@implementation 类名
- (返回值类型) 方法名称{
语句...
.....
}
@end
3.对象:在面向对象的世界中,一切皆对象.(对象是数据(状态特征)与行为(功能)一种封装体)
4.类:现实生活中的对象的抽象(把现实生活中具有相同状态特征,和行为特征的事物的共性提取出来的过程我们就称为抽象)
把现实生活中对象抽象称为类的过程就是类的设计.
5.类和对象关系:
1) 从现实生活来说,类是对象的抽象
2) 编程角度:只有有了类才能创建对象
6.类的设计:
类包含三个要素
1)类名
2)属性
3)行为
7.设计的方法:
1)名词提炼法
2)画面提取类(只有有相同特征的事物都可以提取称为一个类)
8.对象方法
无参无返回值对象方法
格式:
- (void) 方法名称;
无参有返回值的对象方法
- (返回值类型) 方法名称;
有一个参数的对象方法
- (返回值类型) 功能说明+参数说明符:(形参类型)形参名称
- (void) callToTel:(NSString *) phoneNum;
有多个参数的对象方法
- (返回值类型) 功能说明+参数说明符:(形参类型)形参名称 参数说明符1:(形参类型1)形参名称1
- (void) sendMessage:(NSString *) message toTel:(NSSTring *) phoneNum;
9.对象方法与函数的区别
对象方法:
1.对象方法是属于对象的
2.只有一个对象才能调用对象方法
3.对象方法必须是一个 "-" 开头
4.对象方法必须在@interface 与@end直接声明
5.对象方法必须在@implementation 与@end直接实现
函数:函数可以下文件任意位置(除了 @interface 与@end 之间)
所有的函数都是平行的,没有隶属关系
注意点:对象方法不可以像函数一样调用
第三节 NSString 的基本使用
1.在C语言中表示字符串方式
1) 字符数组:C语言的字符串的长度是,除了\0以外的字符所占用的存储空间的字节个数
char str[] = "张三";
unsigned long length = strlen(str);
NSLog(@"%zd",length );
2) char 类型的指针
char *str1 = "张三";
本质: 字符数组是在栈中,在栈中东西可以任意修改
char * 定义的字符串存储在常量区,常量区是只读区(readOnly)
2.在OC 中是通过一个NSString的对象来表示一个字符串的
创建NSString对象:
方式1:通过@"" 方式创建字符串
NSString *str = @"创建一个字符串";
NSLog(@"%@",str);
方式2:
后面的写法与NSLog是一致的
int age = 10; //格式化字符串 参数
NSString *str1 = [NSString stringWithFormat:@"age = %d,name = %@",age,@"张三"];
NSLog(@"%@",str1);
获取字符串长度,这个长度是字符串中字符的个数
unsigned long len = [str length];
NSLog(@"%zd",len);
1.OC简介
1)OC是在C语言基础上增加了面向对象的语法
2)OC是一门面向对象的语言
2.第一个OC程序
2.1 #import 导入文件
功能与#include类似,但是它可以自动防止文件的重复包含
#import 用法与#include相同
#import <> 包含系统的头文件
#import ""包含自己项目中的头文件的
2.2 NSLog()函数:是OC提供的用于日志输出的函数,与printf类似
相同点:都是向控制台输出内容,都支持格式化输出
不同点:
->printf函数中的格式化字符串,是C语言的字符串
->NSLog中的字符串是一个NSString的对象,表现形式@"格式化字符串"
->NSLog比printf多了一种格式符(占位符)%@ 作用:用于输出对象
->NSLog自动换行
->带有日志信息
2.3 NS 前缀:在Foundation中所有类或全局的函数都是以NS开头
OC前缀的作用:为了区分不同项目中使用到相同的名字东西(全局函数,结构体,枚举,类...)
2.4 @作用:
1)在OC中大部分关键字都是以@开头
2)@快速创建不可变对象,只有系统提供特定的对象才能使用@符进行快读创建(@""快速创建一个NSString的对象)
3.OC与C语言的对比
->源文件对比
C语言 .h头文件 .c实现文件 OC .h头文件 .m支持OC与C语言混合编程 .mm支持OC与C++混合编程
->关键字:OC中增加了很多以@开头的关键字
->数据类型的对比
基本上所有的数据类型都可以定义变量,都可以作为函数行参类,做为函数的返回值类型
BOOL 逻辑类型 只有两个取值 YES(1)真 NO(0)假
NSObject * 对象类型
->流程控制:C语言所支持的流程控制OC都支持
OC增加了forin(增强for循环),用于遍历OC的集合对象(NSArray(数组),...)
->函数对比
C语言:函数 返回值类型 方法名称 (行参类型 行参名称 ...)
OC : 方法 方法类说明符(返回值类型) 方法名1withxxx:(行参类型) 行参名称;
对象方法:以 - 开头
所有方法声明中,遇到数据类型都要使用()括起来
一个:对应一个参数
类方法:以 + 开头
第二节 面向对象
1.面向对象的特点:强调是具有某种功能的对象
关注:当需要解决某个问题时,首先要考虑要什么样的对象,然后指挥对象做事情
2.使用面向对象的语言进行软件开发的步骤:
1>从现实生活中的对象中-抽象->类(类名,属性,行为—)->使用OC语法定义类->使用类创建对象->指挥对象做事情
2>在OC中类和对象关系:只有有了类才能创建对象
3>类定义:
类的声明
作用:
1)声明成员变量(实例变量),作用:当创建对象的时候,方便为这些对象分配存储空间
2)声明方法
格式:@interface 开头,以@end结尾
声明成员变量,必须在大括号中
声明方法,必须在大括号下面
@interface 类名 : NSObject
{
// 需要声明的属性:格式:数据类型 成员变量名称;
int _height;
}
//声明对象方法
- (返回值类型) 方法名称;
@end
类的实现
格式:@implementation 开头,以@end 结尾
@implementation 类名
- (返回值类型) 方法名称{
语句...
.....
}
@end
3.对象:在面向对象的世界中,一切皆对象.(对象是数据(状态特征)与行为(功能)一种封装体)
4.类:现实生活中的对象的抽象(把现实生活中具有相同状态特征,和行为特征的事物的共性提取出来的过程我们就称为抽象)
把现实生活中对象抽象称为类的过程就是类的设计.
5.类和对象关系:
1) 从现实生活来说,类是对象的抽象
2) 编程角度:只有有了类才能创建对象
6.类的设计:
类包含三个要素
1)类名
2)属性
3)行为
7.设计的方法:
1)名词提炼法
2)画面提取类(只有有相同特征的事物都可以提取称为一个类)
8.对象方法
无参无返回值对象方法
格式:
- (void) 方法名称;
无参有返回值的对象方法
- (返回值类型) 方法名称;
有一个参数的对象方法
- (返回值类型) 功能说明+参数说明符:(形参类型)形参名称
- (void) callToTel:(NSString *) phoneNum;
有多个参数的对象方法
- (返回值类型) 功能说明+参数说明符:(形参类型)形参名称 参数说明符1:(形参类型1)形参名称1
- (void) sendMessage:(NSString *) message toTel:(NSSTring *) phoneNum;
9.对象方法与函数的区别
对象方法:
1.对象方法是属于对象的
2.只有一个对象才能调用对象方法
3.对象方法必须是一个 "-" 开头
4.对象方法必须在@interface 与@end直接声明
5.对象方法必须在@implementation 与@end直接实现
函数:函数可以下文件任意位置(除了 @interface 与@end 之间)
所有的函数都是平行的,没有隶属关系
注意点:对象方法不可以像函数一样调用
第三节 NSString 的基本使用
1.在C语言中表示字符串方式
1) 字符数组:C语言的字符串的长度是,除了\0以外的字符所占用的存储空间的字节个数
char str[] = "张三";
unsigned long length = strlen(str);
NSLog(@"%zd",length );
2) char 类型的指针
char *str1 = "张三";
本质: 字符数组是在栈中,在栈中东西可以任意修改
char * 定义的字符串存储在常量区,常量区是只读区(readOnly)
2.在OC 中是通过一个NSString的对象来表示一个字符串的
创建NSString对象:
方式1:通过@"" 方式创建字符串
NSString *str = @"创建一个字符串";
NSLog(@"%@",str);
方式2:
后面的写法与NSLog是一致的
int age = 10; //格式化字符串 参数
NSString *str1 = [NSString stringWithFormat:@"age = %d,name = %@",age,@"张三"];
NSLog(@"%@",str1);
获取字符串长度,这个长度是字符串中字符的个数
unsigned long len = [str length];
NSLog(@"%zd",len);
相关文章推荐
- 黑马程序员-IOS学习笔记-OC基础OC简介及基本语法
- 01.IOS学习笔记之MAC OS X 简介
- IOS学习笔记02---语言发展概述,计算机语言简介.
- iOS学习笔记---oc语言第九天
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之20-Cocoa和Cocoa Touch简介——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之14-Foundation框架简介——黑马 IOS 技术博客
- 一 :ios学习笔记 OC入门1
- 黑马程序员————IOS学习笔记 第2篇 OC面向对象(二)
- iOS学习笔记---oc语言第七天
- iOS学习笔记---oc语言第六天
- 【初学】iOS学习笔记-@property @synthesize oc=_oc
- iOS学习笔记---oc语言第一天
- 黑马程序员学习笔记——OC之基本简介
- iOS学习笔记---oc语言第八天
- iOS学习笔记---oc语言第五天
- IOS学习笔记02---语言发展概述,计算机语言简介.
- 黑马程序员-IOS-OC基础-OC简介及基本语法
- iOS学习笔记---oc语言第三天
- IOS开发复习笔记(1)-OC基础知识
- 黑马程序员————IOS学习笔记 第1篇 OC面向对象(一)