oc第一课
2015-06-05 16:21
309 查看
基本语法
一:
1.基类:NSObject
2.单继承(和java一样)
3.支持接口@protocol
4.使用接口实现多继承
5.支持多态和抽象类
6.所有的函数都是虚函数
二:类的定义
oc类分为两个文件,一个是.h一个是.m(放在一个文件里也行)
.h 文件存放类,函数声明
.m文件存放类的具体实现
类的声明使用关键字@interface @end
类的实现使用关键字@implementation @end
如果声明和实现一个类的函数,需要用“+”或者“-”来用在函数的开始
+表示类的方法
-表示对象的方法
三:创建/销毁oc对象
创建对象:
Dog *dog=[Dog alloc];
初始化构造函数:
[dog init];
销毁对象
[dog relaese];
四:Messages消息机制
使用发送目标对象一个消息来达到处理函数
使用如下的格式来发送消息
[object message]或者object.message
object表示一个对象或一个类
message消息也可以认为是一个函数
点语法(编译器级别的)
dog.age=200就等价于[dog setAge:200];
int dogAge=dog.age;就等价于 int dogAge=[dog age];
@property是让编译器自动产生函数声明
下面两行代码
-(void)serAge:(int)newAge;
-(int)age;
可以用下面的代替
@property int age;
@synthesize就是编译器自动实现getter和setter函数
-(void)setAge:(int)newAge{
age=newAge;
}
-(int)age{
return age;
}
就可以用
@synthesize age;来代替啦
category
category能把一个类的实现分为若干不同文件中。
每个category是类的一部分
类的不同类别可以单独编译(可以让不同开发者负责一个category)
如果把一个类category(声明和实现)放到一个.m文件中,那么该category外界不能访问。
category实际上就是对类的扩展。
一:
1.基类:NSObject
2.单继承(和java一样)
3.支持接口@protocol
4.使用接口实现多继承
5.支持多态和抽象类
6.所有的函数都是虚函数
二:类的定义
oc类分为两个文件,一个是.h一个是.m(放在一个文件里也行)
.h 文件存放类,函数声明
.m文件存放类的具体实现
类的声明使用关键字@interface @end
类的实现使用关键字@implementation @end
如果声明和实现一个类的函数,需要用“+”或者“-”来用在函数的开始
+表示类的方法
-表示对象的方法
三:创建/销毁oc对象
创建对象:
Dog *dog=[Dog alloc];
初始化构造函数:
[dog init];
销毁对象
[dog relaese];
四:Messages消息机制
使用发送目标对象一个消息来达到处理函数
使用如下的格式来发送消息
[object message]或者object.message
object表示一个对象或一个类
message消息也可以认为是一个函数
点语法(编译器级别的)
dog.age=200就等价于[dog setAge:200];
int dogAge=dog.age;就等价于 int dogAge=[dog age];
@property是让编译器自动产生函数声明
下面两行代码
-(void)serAge:(int)newAge;
-(int)age;
可以用下面的代替
@property int age;
@synthesize就是编译器自动实现getter和setter函数
-(void)setAge:(int)newAge{
age=newAge;
}
-(int)age{
return age;
}
就可以用
@synthesize age;来代替啦
category
category能把一个类的实现分为若干不同文件中。
每个category是类的一部分
类的不同类别可以单独编译(可以让不同开发者负责一个category)
如果把一个类category(声明和实现)放到一个.m文件中,那么该category外界不能访问。
category实际上就是对类的扩展。
相关文章推荐
- linux serial构架分析及驱动开发(6)
- 开始一个流程
- linux serial构架分析及驱动开发(4)
- [Win32SDK基本] 窗口详解(超详细)
- 企业网盘的三大特性
- 开源地址
- java中的多线程基础
- Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]
- js中的对象封装
- android 技术点记录
- linux serial构架分析及驱动开发(3)
- Androd乐园(二)
- iOS中手工创建Cell和手工Tableview添加代理源
- iOS开发拓展篇—应用之间的跳转和数据传递
- ioctl()函数详解
- spring中使用parent属性来减少配置
- win8怎么打开或关闭快速启动(进入BIOS前的设置)
- C++--编译器工作原理
- EasyUI刚加载时候Window窗体自动弹出的解决办法
- Android风格和主题 学习