由于工作需要,最近开始学习OC这门面向对象的语言,希望可以快速上手
OC的语言特点:
1. 面向对象(封装,继承,多态)
2.OC是C语言的超集,任何C语言在OC中都是合法的。(OC就是C语言主题上加入了面向对象的特点)
3.
源代码文件包含头文件时,一般使用 #import (确保相同文件只被包含一次)
4. OC的面向对象语法源于Smalltalk消息传递风格。对象之间相互传递消息
C++里类和方法的关系(一个方法必定属于一个类,而且编译时已经紧密绑定,不能调用一个不存在类别里的方法)
OC里类和消息比较松散(调用方法被视为发送消息,所有方法被视为对消息的回应。一个类别热不保证一定会回收到消息,如果收到一个无法处理的消息,程序会抛出异常不会报错或者奔溃)
obj.method(argument) [obj method : argument]
5.字符串(大多数框架把字符串传递给NNString对象, 它提供了字符串列的包装)
NSString* myString = @"My String "; NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
OC的类
包含了两个部分:定义(interface)与实现(implementation)
定义包含了类的声明和实例变量的定义,以及类相关的方法
实现包含了类的方法的实际代码
类的申明
减号方法(-代表对象方法(用对象面名来调用)) [p1 report];
加号方法(+代表类方法(用类名来调用)) [People report1];
Person.h文件
@interface Person: NSObject
-(void) sayHello;
@end
类的实现
Person.m文件
#inport "XXX.h"
@implementation XXX
-(void) sayHello{
NSLog(@"Hello, world!");
}
@end