Objective-C初探【2】之Classes, Objects, and Methods

來源:互聯網
上載者:User

標籤:

Classes, Objects, and Methods

下面學習的Object-c中的類,對象以及方法。

 

Objective-c作為一個物件導向的語言,其中最基礎的就是Object.Object之名,就是對象,也就是一樣東西。

就現實生活為例,我們的車子是一個對象,它有自己的屬性(顏色、牌子等),自己的方法(啟動,轉左右等)。

言歸正傳,在OC中,假如我們定義了一個對象為mycar,當我們需要使用其start和turn方法時,如下使用:

  無參數方法   帶參數方法
Objective-c寫法 [mycar start]; [mycar start:left];
java寫法 mycar.start(); mycar.turn(left);

 

有了上訴的對象方法的調用方式,但是我們還少了對象方法的定義。Objective-c中是如何定義一個類呢?

需要通過兩個關鍵的@interface和@implementation部分

interface和implementation共同代表一個類,兩者的組合相當於java中的class。

 

下面用一個構造分數的類來說明一下:

@interface部分相當於介面部分,列出類中將會用到的方法(print、setNumerator,setDenominator)--- 製造了一個模具

 

 -(void) print;             OC中方法會以“-”打頭,表明這一個方法,緊跟後面(void) 代表的是傳回值,最後就是方法的名稱print。

 -(void) setNumerator:(int)n;      當見方法中使用":",表明這個方法是帶有參數的。(int)參數類型是整形,參數名稱為n。

1 @interface Fraction: NSObject2   -(void) print;3   -(void) setNumerator: (int) n;4   -(void) setDenominator: (int) d;5 @end

 

@implementation部分相當於實現部分,重寫了介面的所有的方法 -- 模具為模板,具體的實現

 1 @implementation Fraction 2 { 3   int numerator; 4   int denominator; 5 } 6 –(void) print 7 { 8   NSLog (@"%i/%i", numerator, denominator); 9 }10 –(void) setNumerator: (int) n11 {12   numerator = n;13 }14 –(void) setDenominator: (int) d15 {16   denominator = d;17 }

 

OC就是這樣通過

[email protected]

[email protected]

3.[mycar start];

完成了方法的建立,以及調用。

 

 

以上主要參照Programming in Objective-C 6th Edition的內容,進入了個人的學習,如有錯漏,煩請指正。

Objective-C初探【2】之Classes, Objects, and Methods

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.