基本语法
一:
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实际上就是对类的扩展。