不論開發Java 或 .Net 這類物件導向程式語言平台,當要把類別變成一個真正可運用的物件實例時,都會搭配使用 NEW 關鍵字來達到目的,所以當apple對外宣稱Objective C是標準物件導向語言時,對於從沒開發過MAC的我,很自然會誤以為應該也會有相同的 NEW 關鍵字.......於是乎.....我翻了許多台灣訪間關於iphone AP的設計書籍,卻沒找到任何一個建構式 NEW 的字眼,所以整個iPhone AP的類別開發方式,讓我相當疑惑,後來突然了解,原來他的NEW建構函式並沒規定一定要取名為NEW,可以是任何你想要的名稱,但一般都會建議使用 init,並搭配一個指定記憶體區塊的alloc關鍵字,語法如下:
MyClassName *myClassObj=[[MyClassName alloc] init];
[myClassObj sayHello];
如果你是使用 .NET 或 JAVA 要達到等同效果,語法如下:
(VB.Net為例)
Dim myClassObj As MyClassName=new myClassObj
MyClassName.sayHello
這樣的釐清,對我幫助很大,希望這短短的文章也能對於想要入門iPhone ap 開發的朋友有所助益。
其實在Objective C 2.0中也可以使用 new
回覆刪除MyClassName *myClassObj=[MyClassName new];
[myClassObj sayHello];
new可以直接達成配置記憶體與初始化喔~:)
喔~ 那初始化的一些客制化運作,要如何處理? new 後再呼叫相對應的函式嗎?
回覆刪除