Object-c學習筆記(1)

來源:互聯網
上載者:User

標籤:聲明   實現   object-c   

說明:本人用的win8 系統裝Code::Blocks練習OC。

1.類的聲明和實現的關係圖:

 @interface就好像暴露在外面的時鐘錶面

 @implementation就好像隱藏在時鐘內部的構造實現


2.文法中要注意的地方

(1).成員變數不能在{}中進行初始化、不能被直接拿出去訪問

(2).方法不能當做函數一樣調用

(3).成員變數\方法不能用static等關鍵字修飾,不能和C語言混在一起

(4).類的實現可用寫在main函數的後面,主要在聲明後面就行了

3.一些錯誤的寫法:

(1).只有類的聲明,沒有類的實現

(2).漏了@end

(3)[email protected]和@implementation嵌套

(4).兩個類的聲明嵌套

(5).成員變數沒有寫在括弧裡面

(6).方法的聲明寫在了大括弧裡面

4.OC方法和函數的區別

(1).OC方法只能聲明在@interface和@end之間,只能實現在@implementation和@end之間。也就是說OC方法不能獨立於類存在

(2)C函數不屬於類,跟類沒有聯絡,C函數只歸定義函數的檔案所有

(3)C函數不能訪問OC對象的成員

(4)低級錯誤:方法有聲明,但是實現的時候寫成了函數

5. OC的方法要注意的地方:
(1).方法只有聲明,沒有實現(經典錯誤)
(2).方法沒有聲明,只有實現(編譯器警告,但是能調用,OC的弱文法)
(3). 編譯的時候:訪問沒有的成員變數直接報錯,訪問沒有的方法,只是警告

 6.特別要注意:

(1).冒號也是方法名的一部分
(2).同一個類中不允許兩個對象方法同名

7.代碼實踐:

#import <Foundation/Foundation.h>/*計算機類*/@interface Calculator : NSObject{    @public    double num;}//計算數的平方- (double) square;- (int) sumWithnum1:(int)num1 addNum2:(int) num2;@end//計算機的實現@implementation Calculator//計算一個數的平方- (double) square{    return num * num;}//針對兩個數求和- (int) sumWithnum1:(int)num1 addNum2:(int) num2{   return num1 + num2;}@endint main(){Calculator *c = [Calculator new];//給計算機類成員變數賦值c->num = 25;//調用平方這個方法double result = [c square];NSLog(@"%.1f的平方是%.1f",c->num,result);//調用求和這種方法:int sum = [c sumWithnum1:23 addNum2:34];NSLog(@"sum=%d",sum);return 0;}


代碼:




Object-c學習筆記(1)

聯繫我們

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