
1. 類的定義
>用關鍵字@interface進行聲名 @end 結束
>所有的類有一個基類NSobject
>類名 也是標示符 第一個字母大寫 如果多個字母組成 每個單詞的首字母大寫
>類名 冒號":"后 是父類(繼承父類)
>成員變量 (屬性) 用大括號{ }包含起來
>方法的聲明用兩種 +號表示類方法(類名調用) -表示實例方法9(對象調用)
以下是Person類的聲明:
#import <Foundation/Foundation.h>
@interface Person:NSObject{
//成員變量
//默認是受保護的 封裝特性 不允許外面的變量進行訪問
int grade;
@public
int age;
int numberId;
}
//1.方法必須 -號 或者 +號 開頭
//2. -號 后面是函數的返回值
//3.方法名稱
//4.變量
-(void)printPerson;
-(void)passedAge:(int)newAge;
//帶兩個參數的方法聲明 理解:(void) 函數的返回值
//passedAge 對第一個參數的描述
//AndNumberId 對第二個參數的描述
-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId;
-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId AndGrade:(int)newGrade;
+(void)test;
@end
2.類的實現
>類的實現 采用關鍵字@implemention 以@end結束
以下為Person類的實現文件
#import "Person.h"
@implementation Person
-(void)printPerson{
NSLog(@"===實例方法===person info %d__%d",age,numberId);
}
-(void)passedAge:(int)newAge{
age = newAge;
NSLog(@"===實例方法===賦值===%d",age);
}
-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId{
age = newAge;
numberId = newNumberId;
NSLog(@"===實例方法===賦值===%d__%d",age,numberId);
}
-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId AndGrade:(int)newGrade{
age = newAge;
numberId = newNumberId;
grade = newGrade;
NSLog(@"===實例方法===賦值===%d__%d__%d",age,numberId,grade);
}
//類方法 (加號方法)
+(void)test{
NSLog(@"===用類名調用類方法===");
}
@end
3.調用Person類
>Person 發送一個new消息(調用new方法) 在系統里分配存儲空間(堆空間) 並將存儲空間的首地址返回 (創建對象)
在main函數里面調用 以下代碼為Person類的調用
//創建person對象
Person *person = [Person new];
NSLog(@"===地址===地址===%p",person);
person->age = 10;
NSLog(@"===間指===%d",(*person).age);
NSLog(@"===間指===%d",person->age);
//通過對象去調用 printPerson方法 (實例方法)
[person printPerson];
//通過類名去調用 test方法 (對象方法)e
[Person test];
//對參數賦值 調用帶參數的方法
[person passedAge:10];
[person passedAge:20 AndNuberId:30];
[person passedAge:40 AndNuberId:50 AndGrade:60];
//new == alloc init 創建兩個對象 person1 person2
Person *person1 = [[Person alloc] init] ;
NSLog(@"===地址===地址===%p",person1);
Person *person2 = [Person new];
NSLog(@"===地址===地址===%p",person2);
