黑马程序员——OC学习——基础语法一
来源:互联网 发布:淘宝申请客服介入流程 编辑:程序博客网 时间:2024/06/06 02:19
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. import和include的作用和区别:
作用:import和include都是引入头文件,并且防止重复包含
区别:include是使用与处理指令防止重复包含,如果没有或不小心删除了预处理指令,则无法防止重复包含
2. Foundation/Foundation.h是什么?
Foundation/Foundation.h包含了大量头文件,引入它相当于把OC的库文件都引入过来
3. NSLog和printf的差异使用:
- NSLog可以自动换行,而printf不能
- NSLog会自动输出项目信息,而printf不会
- NSLog的参数是一个NSString对象,而printf的参数是一个字符串指针
eg:NSString *str=@“张三丰”;
NSLog(@"str=%@",str);
4. OC中注释及@符号使用
OC中注释:
- 单行注释 //
- 多行注释 /* */
- 文档注释 /**
- *方法介绍
- *
- *@prama 形参名 参数描述
- */
@“”:表示把C的一个字符串转化为OC的字符串对象NSString
@标示符:OC中大部分关键字以@符号开头 eg:@interface @end @class
5. OC和C的差异学习
源文件对比:
C中源文件:.c .o .out .h
OC源文件:.m .h
OC中独有的数据类型:
类型描述BOOL字面常量是YES或NONSObject*OC中对象类型id动态对象类型,万能指针SEL选择器数据类型block代码块数据类型C语言中的32个关键字都可以在OC中使用,OC中新增的关键字在使用时,部分关键字以@开头
OC中没有增加新的流程控制语句,但是OC中提供了一种增强型for循环,可以快速遍历数组,字典等集合。示例代码如下:
NSArray *arr=@[@"one",@"two",@"three"]; for (NSString *str in arr) { NSLog(@"%@",str); }
函数的声明和定义的差异
C语言中函数的声明
int max(int x, int y);
函数定义
int max(int x, int y){
return x>y?x:y;
}
OC中习惯把函数称为方法,方法声明
-(int)max:(int)x andY:(int y);
方法定义
-(int)max:(int)x andY:(int y){
return x>y?x:y;
}
OC中新增异常捕捉机制
@try {
<#Code that can potentially throw an exception#>
}
@catch (NSException *exception) {
<#Handle an exception thrown in the @try block#>
}
@finally {
<#Code that gets executed whether or not an exception is thrown#>
}
6. 面向对象编程
编程实质:
- 面向过程:注重解决问题的步骤
- 面向对象:关注解决问题需要哪些对象
面向对象优点:大幅度提高软件项目的成功率,减少维护费,提高可移植性和可靠性
面向对象有三大特性:
- 封装
- 继承
- 多态
7.类和对象
类:具有相似的内部状态和运动规律的实体的抽象
对象:现实世界中各种各样的实体,既可以指具体的事物也可以指抽象的事物
OC中类的定义有两部分:类的声明和类的实现
.h:类的声明文件,用于声明成员变量、方法。声明用关键字@interface和@end
.m类的实现文件:用于实现.h文件中声明的方法。实现用关键字@implementation和@end
方法的声明和实现必须以“+”或“-”开头:
+:类方法(静态方法)
-:对象方法(动态方法)
成员变量(实例变量/属性)的作用域有3种:@public @protected @private
类的声明:
@interface 类名:父类名
{
//定义类的属性
}
//声明类的行为(方法)
@end
类的实现:
@implementation 类名
//行为(方法)的具体实现
@end
8. 创建一个对象并访问成员变量
OC中对象创建用关键字new或alloc init eg:Car *car=[Car new]; Car *car1=[[Car alloc] init];
创建对象实际上创建的是一个对象指针
对象创建时完成三件事情:
申请内存空间
给类中的每一个成员变量初始化值
返回新申请空间的首地址
用指针间接访问实例变量:eg:car—>speed=100;
- 黑马程序员——OC基础---语法一
- 黑马程序员——OC基础语法
- 黑马程序员——OC基础语法
- 黑马程序员——oc基础语法
- 黑马程序员——OC学习——基础语法一
- 黑马程序员——OC基础---OC特有语法
- 黑马程序员—OC语言基础—基础语法知识
- 黑马程序员——OC基础@property语法详解
- 黑马程序员——OC基础---面向对象语法
- 黑马程序员——OC基础语法----类、对象、方法
- 黑马程序员——OC语言基础篇---核心语法
- 黑马程序员—OC语言基础—核心语法小结
- 黑马程序员——OC基础语法笔记和习题
- 黑马程序员——OC基础之点语法
- 黑马程序员———OC基础语法(一)---类和对象
- 黑马程序员——OC语言(一)--基本语法
- 黑马程序员--Objective-C——OC特有语法一
- 黑马程序员——OC学习——基础语法二
- ATL入门之配置ATL环境
- 抽象与接口的区别
- cmd命令大全
- 多线程
- VTK基础学习教程
- 黑马程序员——OC学习——基础语法一
- 设计模式之观察者模式
- Xcode7.1不能使用Alcatraz解决方案
- 安全高效多渠道打包App
- 对于android WebView加载不出Html5网页的解决方法
- Android-Android API 版本判断
- Unity3d学习11
- Struts2:输入校验
- 数据结构基础7.4:归并排序