<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [?李華明Himi?](http://www.himigame.com/about-himi)原創,轉載務必在明顯處注明: 轉載自[【黑米GameDev街區】](http://www.himigame.com/)?原文鏈接:?[http://www.himigame.com/himistudy/396.html](http://www.himigame.com/himistudy/396.html "[Object-C語言隨筆之三]") [](http://blog.csdn.net/xiaominghimi/archive/2011/06/24/6565870.aspx) 上一小節的隨筆寫了常用的打印以及很基礎的數據類型的定義方式,今天就來一起學習下如何創建類與函數的一些隨筆; 首先類的創建:在Xcode下,菜單File-New File,然后出現選擇class模板,如下圖(圖1) ![](https://box.kancloud.cn/2016-03-31_56fcd01049700.png) 圖1 class 模版選擇界面 這里不需要手動選擇什么,,默認是Objective-C class模版,我們直接Next,出現以下窗口:(圖2) ![](https://box.kancloud.cn/2016-03-31_56fcd0106bcc3.png) 圖2 ?為新建類起類名 此窗口下,我們只需要將類名填寫好就ok,直接點擊”Finish“,這里便于講解后續的代碼,這里我將類名起名為”MyClass“ 點擊”Finish“后,在我們的項目下會出現兩個文件: 1.?MyClass.m 2.?MyClass.h 接觸過c語言的很熟悉會生成兩個文件,將一個類分為了兩個部分,簡單而言: “.h”后綴的是此類聲明,比如變量、方法聲明都會在此文件下定義—類定義部分; “.m”文件是書寫類方法的實現—類實現部分; ok,然后先看"MyClass.h"與“MyClass.h” 兩個文件中自動生成的代碼: //以下為 MyClass.h 中的代碼:#import <Foundation/Foundation.h>// @interface:表示類接口部分// NSObject @interface MyClass : NSObject {}//end 標識結束類接口部分@end//以下為 MyClass.m 中的代碼:#import "MyClass.h"// @implementation:表示類實現部分@implementation MyClass//end 標識結束類實現部分@end? ? 下面我們簡單在MyClass類中添加幾個函數和變量,當然我這里說的添加在實現上分為兩步:首先在.h類聲明文件中進行函數聲明,然后在.m文件下進行實現;代碼如下: 首先在MyClass.h 中定義: ? ~~~ #import <Foundation/Foundation.h>// @interface:表示類接口部分@interface MyClass : NSObject {int himiX,himiY;}//聲明兩個帶有返回值的函數-(int) getX;-(int) getY;//聲明兩個無返回值但有一個參數的函數-(void) setX:(int) x;-(void) setY:(int) y;//聲明一個無返回值,但有兩個參數的函數-(void) setXY:(int) x andSetXY:(int) y;//end 標識結束類接口部分@end ~~~ 定義了兩個整型以及四個函數,函數的種類分為以下四種: 1.?帶返回值的函數 2.不帶返回值的函數 3.有一個參數的函數 4.有兩個(多個)參數的函數 然后在MyClass.m中實現這些函數: ~~~ #import "MyClass.h"// @implementation:表示類實現部分@implementation MyClass//----以下是聲明的函數一一實例的代碼-(int) getX{return himiX;}-(int) getY{return himiY;}-(void) setX:(int) x{himiX=x;}-(void) setY:(int) y{himiY=y;}-(void) setXY:(int) x andSetXY:(int) y{himiX =x;himiY =y;}//end 標識結束類實現部分@end? ~~~ ![](https://box.kancloud.cn/2016-03-31_56fcd01090a40.png) 關于函數定義有兩點需要詳細說明: 1.關于“-”符號表示的方法類型其詳細含義指的是 :實例方法; 如果是“+”符號表示:這個函數是一個類函數,表明其他代碼可以直接調用的類方法;不用創建其類的實例; 2.關于多個參數參數定義:當想聲明一個有多個參數的方法時,我們可以理解當前這個方法的方法名被分為多個部分; 比如有兩個參數,那么整個方法的名字可以認為此函數的名字將被分為兩部分;三個參數的函數,其函數名就有三個部分... 那么為了便于識別是一個函數中的名字部分,所以當參數有多個時,名字的命名規則可以按照如下這樣: 例如這里定義了一個三個參數的函數: 方法名的第一部分:getHimi ? 第二部分 getHimiTwo 第三部分 ThreeGetThree 當然這里我是想告訴大家,多個參數的函數中,每一部分的函數名盡可能有規律可循即可,便免與其他函數名混淆; ? ok,類設計完畢之后,下面我們在程序主函數中,實例此類對象,并調用其函數,代碼如下: ~~~ #import <Foundation/Foundation.h>#import "MyClass.h"int main (int argc, const char * argv[]) {NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];//-----------//實例類對象MyClass *mc =[[MyClass alloc]init];//調用帶有返回值的函數int x = [mc getX];int y = [mc getY];NSLog(@"x = %i,y = %i",x,y);//調用無返回值且帶有一個參數的函數[mc setX:8];[mc setY:23];x = [mc getX];y = [mc getY];NSLog(@"x = %i,y = %i",x,y);//調用無返回值且帶有兩個(多個)參數的函數[mc setXY:9 andSetXY:22];x = [mc getX];y = [mc getY];NSLog(@"x = %i,y = %i",x,y);[mc release];//-----------[pool drain];return 0;} ~~~ 類的實例化: 如上一段代碼中對MyClass類的實例化的代碼: MyClass *mc =[[MyClass alloc]init]; ?[[MyClass alloc]init] 中的 alloc 是固定格式,是為對象申請內存空間,? init則完成對象的初始化工作; 方法(函數的調用): 首先我們通過實例化了一個MyClass對象-mc,然后通過mc調用其類中的函數: 有返回值并且無參數的函數調用: 變量 = [實例 方法名]; 沒返回值且有一個參數的函數調用: [實例 方法名:參數]; 沒返回值且有兩個(多個)參數的函數調用: [實例 方法名(第一部分):參數1 ?方法名字(第二部分):參數2]; ok,然后觀察運行項目的結果: ![](https://box.kancloud.cn/2016-03-31_56fcd010a987d.png) ok,此小節就是這些,下面附上源碼下載把:仍然免費共享~希望大家多多支持~ 源碼下載地址:?[http://www.himigame.com/himistudy/396.html](http://www.himigame.com/himistudy/396.html "[Object-C語言隨筆之三]")[](http://download.csdn.net/source/3407625)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看