學習ios之路 Objective C 類與物件

2021-06-27 22:55:23 字數 2335 閱讀 7168

1.物件導向和面向過程概念

1).面向過程

面向過程:以過程為核心,注重的是完成事件的詳細步驟,一步一步如何實現.

2).物件導向

物件導向:以事物為核心,注重的是參與該事件的事物應該具備的功能.所以完成該事件只是事物所有功能中的乙個功能.

2.類與物件

類: 類是具有相同特徵以及行為的事物的抽象,它是乙個抽象的概念,不具體.

物件: 類的例項.類的具體體現.生活中的萬物都是物件.

3.oo與oop

oo:(object oritented)物件導向

oop:(object oriented programming)

4.@是oc標誌

nslog(@"%hello world");//輸出的目的是為了驗證.

5.如何建立物件

1.開闢空間(堆區)

例:person  *p = [person alloc];//開闢空間, +號方法,類方法.

//+(id)alloc; //id等同於void *,泛型,可以代表所有的物件.

//因為p儲存著物件堆區空間的位址,所有間接把p叫做物件,但是本質還是指標變數.

2.初始化

即:  p = [p  init]; //初始化,nil null 0

6.oc中方法的呼叫形式: 訊息傳送機制

[receiver message];

1.+號方法     類方法

2.-號方法      物件方法(例項方法)

例如:

car *car = [[car alloc] init];

[car run];//run();函式

7.類的定義

*  類的定義分為兩部分:1.介面部分(.h檔案中)2.實現部門(.m檔案中)

*  介面部分: 以 @inte***ce 開頭 + 型別 : (冒號表示繼承)  父類名  @end 作為結束

*  類的介面部分的內容必須寫在 @inte***ce 與 @end 之間.

*  類的實現主要是方法的實現.

*  類的介面部分提供例項變數以及方法的宣告

*  類的本質就是自定義的一種資料型別.

例如:1).student.h宣告檔案

@inte***ce student : nsobject

- (void)study;//方法名:study

- (void)message:(nsstring *)name1;//無返回值,有乙個引數,引數型別nsstring *型別

//方法名 sumvaluewitha: withb: withc:

- (nsinteger)sumvaluewitha:(nsinteger)a withb:(nsinteger)b withc:(nsinteger)c;

- (nsinteger)maxgbwitha:(nsinteger)a withb:(nsinteger)b;//方法名 maxgbwitha: withb:

@end

2).student.m實現檔案.

*  類的實現部分: 以@implementation 開頭  + 實現類名 @end 作為實現部分的結束.

*  類的實現** 必須解除安裝 @implementation 與@end 之間才有效.

@implementation student

- (void)study

- (nsinteger)moneyvaluewitha:(nsinteger)a withb:(nsinteger)b

- (void)message:(nsstring *)name1

//最小公倍數

- (nsinteger)maxgbwitha:(nsinteger)a withb:(nsinteger)b

return (tempa * tempb) / b;

} @end

3).  main函式實現.

student *stu = [[student alloc] init];

[stu study];

nsinteger mon = [stu moneyvaluewitha:10 withb:20];

nslog(@"%ld", mon);

[stu message:@"asdf"];

注:**規範:

1.類名:有英文單詞組成,每個單詞的首字母大寫,不能出現數字,更不能出現拼音.

2.例項變數: 有英文單詞組成,除了第乙個單詞的首字母小寫以外,其他單詞首字母大寫.

3.一般情況下一對一,h和m檔案中定義乙個類.

Windows上編譯,學習Objective c

3 配置環境變數 這一步很重要。gnustep.sh是用來設定gnustep開發環境變數的,如果沒有執行,就會有很多標頭檔案,庫檔案,命令找不到 在乙個目錄裡寫好了源 以後,編寫乙個make配置檔案,名字必須叫gnumakefile,內容是 include gnustep makefiles com...

iOS 高階之路

自己閱讀,翻譯,裡面不懂的單詞,記下來,多學幾遍,這些你不懂的單詞,在以後你看其他時文件裡還會出現無數次的。堅持幾個月後,你會發現,英文的文件,看起來比中文的順眼了。為什麼要找自己熟悉的技術看,因為那樣的話,你更容易理解和增加信心。作為技術人員為什麼要寫部落格 即便沒有讀者,你也要寫部落格 原始碼 ...

iOS菜鳥之路

undefined symbols for architecture armv7s 意思是匯入第三方庫的時候沒有將第三方庫需要的系統庫新增完整,導致第三方庫不能正常編譯,匯入融雲時候出現過該bug 未定義的符號結構armv7 kvtdecompressionpropertykey realtime ...