程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [Objective-C]OC中協議(Protocol)的基本概念和用法

[Objective-C]OC中協議(Protocol)的基本概念和用法

編輯:關於C語言

協議(Protocol)的基本概念

協議的聲明看起來比較類似於Java中一個類的接口,但是和接口不同的是:協議沒有父類也不能定義實例變量。

協議是一種特殊的程序設計結構,用於聲明專門被別的類實現的方法。協議在以下場合非常有用:

 

  • 需要由別的類實現的方法
  • 聲明未知類的接口
  • 兩個類之間的通信

    協議的基本特點

     

    • 協議可以被任何類實現的方法
    • 協議本身不是類,它是定義了一個其他類可以實現的接口
    • 類別也可以采用協議(用的不多)

      協議中的關鍵字

       

      • @required:表示必須強制實現的方法
      • @optional:表示可以有選擇性的實現方法

        范例:

        協議聲明:

         

        //協議的聲明
        #import 
        @protocol OneProtocol 
        
        //可以選擇實現的方法:
        @optional
        -(void) optionalMethod1;
        -(void) optionalMethod2;
        //必須實現的方法:
        @required
        -(void) requiredMethod1;
        @end
        //采用協議(Test.h)
        #import "OneProtocol.h"
        @interface Test : NSObject

         

         

        協議實現方法:

         

        #import "Test.h"
        
        @implementation Test
        
        -(void)optionalMethod1{
            //可選擇實現方法1
        }
        -(void)optionalMethod2{
            //可選擇實現方法2
        }
        -(void)requiredMethod1{
            //必須是實現方法2
        }
        @end
        main.m方法:

         

         

         Test *test=[[Test alloc]init];
                [test optionalMethod1];
                [test optionalMethod2];
                [test requiredMethod1];
                [test autorelease];
        \

         

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved