淺談Objective-C基本文法

來源:互聯網
上載者:User

Objective-C基本文法 是本文要介紹的內容,對初學者來說,objective-c存在了很多令人費解的寫法,實際上他們是非常優雅的。程式員寫的最多的就是函數以及調用自己寫的或者別人寫的函數。本文就從函數的角度來看下objective-c的優雅之處。

C# 和objective-c同屬於C 系列語言。讓我們先看下C# 的函數定義和調用,做個對比。

C#函數的定義:

 
  1. public void doIt(string actorName, string movieName, int timesSeen)  
  2. {  
  3. Console.Write("{0} is my favorite actor in the movie {1}, I saw it {2} times.", actorName, movieName, timesSeen);  

函數的調用:  

 
  1. Class1 objMovie = new Class1(); 

objMovie.doIt("萊昂納多·迪卡普裡奧", "盜夢空間", 120);

在讓.net程式員看下objective-c的定義:

 
  1. - (void) doIt:(NSString *) actorName movieName: (NSString*) value timesSeen: (int)times   
  2. {   
  3. NSLog(@"%@ is my favorite actor in the movie %@, I saw it %i times.",actorName, value, times);   

如果你第一次看objective-c,肯定會琢磨不透上面的代碼,懷疑是不是寫錯了。 

對於上面這個函數的定義:

1、'-'表示這個函數是執行個體函數類似非靜態函數),'+'表示這個函數是類函數類似靜態函數)

2、void)表示這個函數沒有傳回值。

3、函數名是'doIt: movieName: timesSeen:',而不是'doIt'

4、參數用空格隔開

5、參數類型寫在括弧中

6、參數分內部參數和外部參數,如電影名稱,內部參數是:value,外部參數是:movieName,

7、函數的一個參數沒有外部參數的名稱,有內部參數名。如:actorName。

調用,:

從上面代碼可以看出除了第一個參數,其餘的參數都可以加上外部參數名稱用於區別。

從上面可以看出objective-c和C#區別很大,實在會令.net程式員費解。objective-c函數設計的優雅之處在於即有內部參數名又有外部參數名,可以不用在再內部定義變數來存放函數的參數。

小結:淺談Objective-C基本文法的內容介紹完了,本篇文章是對objective-c函數學習的一個簡單總結,最後希望本文對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.