1.类的基本用法
#import <Foundation/Foundation.h>
// 大体上就是include, 用于包含头文件, 但是即使头文件中, 没有ifndef defined endif, 仍然能够踢除重复包含的头文件
// ----@interface section----
// OC中声明和实现是分离的, 两个都必须有.
@interface Fraction : NSObject { // @interface 类名: 父类名字
// 在这里声明成员变量, 在OC中称为字段, 描述类的对象的属性
// 只有成员变量需要在外部提供接口, 或者是需要被继承的时候, 才需要在.h文件中定义成员变量, 其他情况下只需要在.m文件中, 声明全局变量即可
int _numerator; // 在类内一律使用成员变量, 在类外使用属性
int _denominator;
}
@property (nonatomic, assign) int numerator, denominator;
-(void) setNumerator: (int) n; // 声明方法
-(void) setNumerator: (int) n andDenominator: (int) d;
-(Fraction *) init; // 或者使用-(id) init; OC中只要是以init开头的都是构造函数, 可以带参数
@end
// ---@implementation section----方法的实现---实例方法(以-号开头)----类方法(以+号开头)
@implementation Fraction // @implementation 类名
@synthesize numerator = _numerator, denominator = _denominator;
-(void) setNumerator: (int) n andDenominator: (int) d;
{
_numerator = n;
_denominator = d;
}
-(Fraction *) init
{
if (self = [super init]){
// super是指向父类的指针, super的值和self一样, Fraction中不仅有自己的成员变量, 还有父类中的内容, 因此初始化的时候, 要先初始化父类的内容, 然后再初始化自己本身的内容.
_numerator = _denominator = 0;
}
return self; // self是当前对象的地址, 也相当于一个成员变量
}
@end
|
|