一、類的定義--屬性
//類的聲明
@interface 類名 :NSObject
{
//這類事務具有的共同特徵,定義爲變量
}
//方法的聲明
@end
//類的實現
@implementation 類名
//方法的實現
@end
類名首字母大寫,變量前加下劃線
實例化對象 : 類名 *對象名 = [類名 new]
@interface Person :NSObject
{
@public //設置爲public
NSString *_name;
@private //後面全部設置爲私有
int _age;
float _height;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p1 = [Person new];
p1->_name = @"jack";
p1->_age = 19;//私有不可訪問
p1->_height = 178.5f;//私有不可訪問
NSLog(@"p1對象的_name屬性的值是%@",p1->_name);
}
return 0;
}
二、類的定義--方法
1、無參數方法
-(void)方法名稱;
-(void)run;
//聲明瞭一個無返回值且無參數的方法 方法名字爲run
實現 在@implementation中實現
@implementation Person
- (void)run{
NSLog(@"我是People,我在pia");
}
@end
調用對象 [對象名 方法名]
Person *p1 = [Person new];
[p1 run];
2、帶一個參數的方法
方法頭重的數據類型都要用1個小括弧括起來
-(返回值類型)方法名稱:(參數類型)形參名稱;
-(void)eat:(NSString *)foodName;
//方法名eat 方法有一個參數,類型是NSString *類型 參數名foodName
實現
-(void)eat:(NSString *)foodName{
NSLog(@"%@真好喫",foodName);
}
調用 [對象名 方法名:實參];
[p1 eat: (@"紅燒排骨")];
3、帶多個參數的方法
-(返回值類型):方法名稱:(參數類型)形參名稱1:(參數類型)形參名稱2:(參數類型)形參名稱3;
- (int)sum:(int)num1:(int)num2;
//實現:
- (int)sum:(int)num1:(int)num2{
int num3 = num1+num2;
return num3;
}
調用
int sum = [p1 sum:10:20];
NSLog(@"sum:%d",sum);
4、命名規範
- 只有一個參數 xxxWith 或者xxxWithxxx 提高可讀性
- 如果有多個參數 方法名With:(參數類型)參數名稱 and:(參數類型)參數名稱 and:(參數類型)參數名稱;
//聲明
- (int)sumWith:(int)num1 and:(int)num2;
//定義
- (int)sumWith:(int)num1 and:(int)num2{
int num3 = num1+num2;
return num3;
}
//調用
int sum = [p1 sumWith:10 and:20];