淺談Objective-C基本語法
Objective-C基本語法 是本文要介紹的內(nèi)容,對初學(xué)者來說,objective-c存在了很多令人費解的寫法,實際上他們是非常優(yōu)雅的。程序員寫的最多的就是函數(shù)以及調(diào)用自己寫的或者別人寫的函數(shù)。本文就從函數(shù)的角度來看下objective-c的優(yōu)雅之處。
C# 和objective-c同屬于C 系列語言。讓我們先看下C# 的函數(shù)定義和調(diào)用,做個對比。
C#函數(shù)的定義:
- public void doIt(string actorName, string movieName, int timesSeen)
- {
- Console.Write("{0} is my favorite actor in the movie {1}, I saw it {2} times.", actorName, movieName, timesSeen);
- }
函數(shù)的調(diào)用:
- Class1 objMovie = new Class1();
objMovie.doIt("萊昂納多·迪卡普里奧", "盜夢空間", 120);
在讓.net程序員看下objective-c的定義:
- - (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times
- {
- NSLog(@"%@ is my favorite actor in the movie %@, I saw it %i times.",actorName, value, times);
- }
如果你***次看objective-c,肯定會琢磨不透上面的代碼,懷疑是不是寫錯了。
對于上面這個函數(shù)的定義:
1、'-'表示這個函數(shù)是實例函數(shù)(類似非靜態(tài)函數(shù)),'+'表示這個函數(shù)是類函數(shù)(類似靜態(tài)函數(shù))
2、(void)表示這個函數(shù)沒有返回值。
3、函數(shù)名是'doIt: movieName: timesSeen:',而不是'doIt'
4、參數(shù)用空格隔開
5、參數(shù)類型寫在括號中
6、參數(shù)分內(nèi)部參數(shù)和外部參數(shù),如電影名稱,內(nèi)部參數(shù)是:value,外部參數(shù)是:movieName,如圖:
7、函數(shù)的一個參數(shù)沒有外部參數(shù)的名稱,有內(nèi)部參數(shù)名。如:actorName。
調(diào)用,如圖:
從上面代碼可以看出除了***個參數(shù),其余的參數(shù)都可以加上外部參數(shù)名稱用于區(qū)別。
從上面可以看出objective-c和C#區(qū)別很大,實在會令.net程序員費解。objective-c函數(shù)設(shè)計的優(yōu)雅之處在于即有內(nèi)部參數(shù)名又有外部參數(shù)名,可以不用在再內(nèi)部定義變量來存放函數(shù)的參數(shù)。
小結(jié):淺談Objective-C基本語法的內(nèi)容介紹完了,本篇文章是對objective-c函數(shù)學(xué)習(xí)的一個簡單總結(jié),***希望本文對你有所幫助!