oc中定義類需要以下兩部分:
類介面部分語法:
//@ubte***ce用於宣告定義類的藉口部分
@inte***ce
myperson : nsobject
//宣告成員變數
/*宣告方法
- + 為方法型別標識:+代表為類方法,直接用類名即可呼叫;-代表實力方法,需用物件才能呼叫
(void) 為方法返回值型別:若無返回值需要用void宣告沒有返回值
setname:(nsstring *) 為方法簽名關鍵字:由方法名 setname,形參標籤 nsstring *,冒號 : 組成
name為形參名
*/- (void) setname:(nsstring *) name andage:(int) age;
- (void) say:(nsstring *) content;
- (nsstring *) info;
+ (void) foo;
//@end表明定義結束
@end
類實現部分語法:
@implementation
myperson //與類介面部分的類同名
//成員變數宣告,此處為只能在實現部分使用的被隱藏的成員變數
//定義方法此處建議形參名與類介面部分成員變數不一致,避免區域性變數被隱藏
- (void) setname:(nsstring *) n andage:(int) a
- (void) say:(nsstring *) content
- (nsstring *) info
- (void) test //定義乙個只能在實現部分使用的方法,被隱藏的方法,此段**中 test method被info method所引用
+ (void) foo
@end
myperson* person; //定義myperson型別的變數
person = [[myperson alloc] init] //建立myperson物件並初始化,然後賦給person
/*一般程式中只會匯入類的介面部分(*.h),所以需要如下命令來編譯該程式:
change -fobjc-arc -farmework foundation myperson.m mypersontest.m
即將程式檔案和實現部分檔案同時編譯
*/[person say:@"hello"]; //無返回值含引數的呼叫方法
[person setname:@"easer" andage:30];
nsstring* infos = [person info]; //有返回值無引數的呼叫方法
nslog(@"the info of person is: %@", infos);
[myperson foo]; //類方法的呼叫方法
適用於例項method,當method被呼叫時,self會代表這個物件
@inte***ce
myperson : nsobject
- (nsstring *) info;
@end
@implementation
myperson
- (void) setname:(nsstring *) _name andage:(int) _age
- (nsstring *) info
- (void) test
@end
myperson* person1 = [[myperson alloc] init];
myperson* person2 = [[myperson alloc] init];
[person1 info]; //此處呼叫info method時,self代表person1
[person2 info]; //此處呼叫info method時,self代表person2
id型別可以代表所有物件的型別,執行時會動態的去判斷該物件所屬的類,並在執行確定需要動態呼叫方法,而不是編譯時確定要呼叫的方法。
id p = [[myperson alloc] init];
[p say:@"hello"]; //會輸出 hello
物件導向 1
物件名列印 類名 位址值 1 從磁碟讀取class檔案,載入進方法區的class檔案區 2 將class檔案靜態的屬性和行為的載入進靜態區 3 將class檔案中私有的行為載入進方法區 4 在堆中持有方法的引用 5 讀取class檔案中的成員字段,並初始化 6 在堆中持有方法的引用 7 將這個位址賦...
物件導向1
物件導向程式設計 物件導向程式設計 object oriented programming,oop 主要針對大型軟體設計而提出,使得軟體設計更加靈活,能夠很好地支援 復用和設計復用,並且使得 具有更好的可讀性和可擴充套件性。python中物件的概念很廣泛,python中的一切內容都可以稱為物件。類定...
物件導向1
現在程式開發有兩個主流的方法 1 結構化程式設計,也叫面向過程程式設計。結構化程式設計主張以功能 步驟來進行軟體設計。2 物件導向程式設計。物件導向程式設計思想逐漸成熟起來。它使用類,物件,繼承,封裝,訊息等概念來進行程式設計。類的定義 成員變數 方法 格式語法 修飾詞 class 類名 修飾詞 返...