一、Defining Class

2020-02-19  本文已影响0人  iEugene

头文件声明定义

//  SimpleClass.h
//类声明
//历史:很多类中有"NS"前缀是因为Cocoa和Cocoa Touch,Cocoa诞生于NeXTStep操作系统中用于构建APP的框架,后来NeXTStep被苹果公司收购了,所以框架中的代码也直接被合入了OS X中
//NSObject 类似Java语言中的Object,是所有类的基类,所有类定义必须显示的继承一个父类
@interface SimpleClass : NSObject
//属性定义
//引用类型数据定义前需要加*号
@property NSString *firstName;
@property NSString *lastName;
//(readonly)只读权限
@property (readonly) NSNumber *yearOfBirth;
@property int weight;

//函数声明
//函数签名信息:someMethodWithValue、NSString*、secondParam:(int)
//实现函数必须保证签名信息一致
//C语言中的函数命名必须是唯一是,但不影响Objective-C中的函数命名,只需要保证同一个类中的函数命名唯一
//继承父类也必须保持一致
//"-"号表示实例方法
//void表示无返回值
- (void) someMethodWithValue:(NSString*)value secondParam:(int)value1;
-(void)sayHello: (NSString *)name myName:(NSString *)myName
//返回值为int
-(int) someMethodReturnInt;
//返回值为NSString Object
-(NSString*) someMethodReturnString;

//"+"号表示类方法
+ (id) createInstance;

@end

类实现

//  SimpleClass.m
#import "SimpleClass.h"

@implementation SimpleClass
- (void)someMethodWithValue:(NSString *)value secondParam:(int)value1{
//self关键字类似Java中this,表示类对象本身,还有一个关键字super与Java中的一样,表示父类
  [self sayHello:value myName:[NSString stringWithFormat:@"%d",value1]];
}

-(void)sayHello: (NSString *)name myName:(NSString *)myName
{
    NSLog(@"Hello %@!, My name is %@", name, myName);
}

+ (id)createInstance{
    return [[SimpleClass alloc] init];
}

- (int)someMethodReturnInt{
    return 0;
}

- (NSString *)someMethodReturnString{
    return [self description];
}

@end

官方命名规范说明

上一篇下一篇

猜你喜欢

热点阅读