中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第一講、類和對象

發布時間:2020-07-15 22:50:18 來源:網絡 閱讀:386 作者:遙星夢 欄目:開發技術

一、OC概述

代碼格式

    int main(int argc, const char * argv[]) {
    @autoreleasepool {

             

                    代碼區


         }
      return 0;
     }

1、OC中支持基本數據類型  int 、float 

2、C語言中使用字符串  "hello"                        OC中使用字符串對象 @"hello"

3、NSString是系統類庫提供的--字符串類    
      定義對象類型的變量時必須加 *                  NSString * name = @"zhangyixing";

4、OC中的新類型      類類型(對象類型)

5、printf(C)  NSLog(OC)   輸出字符串內容     NSLog( @"zhangyixing");

6、輸出基本數據類型的值
      NSLog(@"number = %d, score= %.2f, age = %ld",number, score, age);

7、輸出對象
      NSLog(@"name = %@", name);               NSLog(@"name = %@", @"zhangyixing"); 


二、面向對象編程

     面向對象編程OOP (Object Oriented Programming )

     面向對象語言:C++,Java,C#

     概念:對象、類、封裝、繼承、多態等


三、類和對象

       先定義類,再創建對象,使用對象。

       類是模板,對象是具體表現,任何對象都要占用內存空間.

1、定義類----接口部分、實現部分

      新建文件  OS X -------Cocoa Calss

      設置name:Person(使用類名命名文件)、Subclass of:NSObject、Language:OC

  1)接口部分----對外聲明的特征和行為----------Person.h文件

        

         #import <Foundation/Foundation.h>

         // 接口的開始

        @interface Person:NSObject (類名:父類型)

         {

          // 聲明類的特征

          // 實例變量:存儲的是對象的特征     注意 : 首字母是_

          NSString * _name;

          int _age;

         }

        // 聲明類的行為

        // 方法:與C中的函數相似,OC中沒有函數的概念

            (1)+表示這個方法屬于類,只能類執行          [類名 方法名]

            (2)-表示這個方法屬于對象,只能對象執行    [對象 方法名]

         - (void)sayHi;

         // 接口的結束

        @end

      

  2)實現部分----對內實現行為----------Person.m文件


         #import "Person.h"
         // 實現部分的開始
         @implementation Person
         - (void)sayHi  // 減號 空格
         {
             NSLog(@"你好");
         }

         // 實現的結束
        @end


2、創建對象:分配內存空間、初始化、存在堆區-------main.m文件

      main函數上面導入文件----#import "Person.h"

   1)分配內存空間---[類名 alloc]
         OC中使用[]調用方法  alloc是系統提供的類可以調用的方法
         (1)在堆區分配內存空間;

         (2)內存空間的數據被自動清除,所有的實例變量默認值設置為0;

         (3)返回分配的存儲空間的首地址

         Person * p1 = [Person alloc];
        指針p1指向堆區中存儲的person對象,因此通常將p1代指為person對象

  2)初始化對象------[對象 init]

       初始化:為對象的實例變量設置初始值

        init初始化  是系統提供的進行對象初始化操作的方法,只能對象調用

        p1 = [p1 init];
        Person * p2 =[[Person alloc] init];
        p1 p2 是同類型的,兩個不同的對象

        Person * p3 = nil; // p3指向空,是一個空指針,不能當成對象

        在OC中,對nil做任何操作都是無效的

        p3 = p1; // p3、p1 指向同一個對象

3、通過對象調用方法,實現功能

      OC中使用[]調用方法  alloc是系統提供的類可以調用的方法

      [p1 sayHi];   // 打印----你好


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵丘县| 湖北省| 龙口市| 托克逊县| 略阳县| 永善县| 锡林浩特市| 邹平县| 新源县| 花垣县| 前郭尔| 康保县| 扶沟县| 方正县| 景洪市| 张掖市| 沁阳市| 石首市| 保康县| 邻水| 赤水市| 民乐县| 礼泉县| 青神县| 右玉县| 镇赉县| 湘潭市| 吉水县| 宜都市| 平潭县| 林西县| 新和县| 柳州市| 民县| 承德市| 沙坪坝区| 江陵县| 敖汉旗| 潮州市| 轮台县| 兰考县|