ios-5-類別和協議

類別:擴展已存在類的內置功能(無需繼承即可擴展類的功能)java

類別能夠擴展類以前不存在的一個屬性,不能像繼承那樣給類別接口添加實例變量,而是要擴展一個類的行爲ui

除了對現有類增長新的行爲以外,類別還支持對本身構建的類把相關方法分組到多個單獨文件中spa

在m文件中用匿名類別能夠實現方法或屬性的私有化.net

 

在import以後添加:blog

interface 類名(){繼承

私有化屬性接口

}事件

 

協議:協議定義了一個類與另外一個類溝通的先驗方式,它們包含一個方法列表,有的是可選的,有的是必須的。協議中定義的方法包括一些操做響應和事件響應。委託和數據源都是由協議產生的。ip

協議相似Java中的接口,定義了一組方法,遵循協議的類都認爲贊成知足這一組方法列表get

協議能夠用來定義回調方法(IOS委託和數據源都是用協議來實現的,UITableViewDelegate、UITableViewDatasource)

協議分爲可選實現方法和必須實現方法,用關鍵字 @required 和 @optional區分

 

判斷一個類是否實現了協議的可選方法:

 

  1. if([self.client respondsToSelector : @selector(doSomething)])  
  2. {  
  3.      [self.client doSomething];  
  4. }  
相關文章
相關標籤/搜索