Objective C 快速入門學習五

來源:互聯網
上載者:User

標籤:style   blog   color   使用   os   io   

 <一>繼承和多態@class   Complex  聲明類(同C++)子類函數成員 super 訪問父類 同C++類似1.通過繼承 在子類中添加新方法2.通過繼承 在子類中添加新成員3.通過繼承 實現多態(實現比較簡單,通過Id通用類型作為父類)4.重載5.抽象類別abstract作用:建立子類更容易;提供了處理所有派生子類的公用介面;抽象方法制定了標準協議,規範子類必須實現。6.通用類型id,編譯時間不會做類型檢查,在運行時才會動態綁定具體類型,指出錯誤。  靜態類型在編譯階段就會指出錯我,另外,可以提高程式的可讀性。7.處理動態類型若干方法mySquare是Square類的執行個體。[Square class]  //從Square類獲得類對象[mySquare class]  //從mySquare對象獲得其所屬類[obj1 class] == [obj2 class]  //判定兩個對象是否屬於同一個類[mySquare is MemberOf: [Square class]]  //判定mySquare是不是Square的執行個體@selector (alloc)  //為alloc方法產生1個SEL類型的值[Square respondsTo @selcetor (alloc)] == YES  //判斷Square類是否響應alloc類方法[Square instanceRespondToSelector: @selector(action)]  //查看Square的執行個體是否響應action方法eg:if([Square instanceRespondToSelector: @selector(action)] == YES)[mySquare performSelector: @selector (action)]   //應用action方法[Square isSubclassOfClass: [Rectangle class]] == YES   //判斷Square是否為Rectangle子類<二>@try異常處理-(void)action{  ... if(數組越界)  NSException *e = [NSException exceptionWithName:@"out of array" reason:@"address is invalid" userInfo: nil]  @throw e;//拋出異常}@try{  [mySquare  action];//嘗試執行mySquare action方法}@catch(NSException *exception){  //捕捉異常,也可以派生NSException子類,重新定義具體細節  NSLog(@"Caught %@%@", [exception name], [exception reason]);//產生異常的名稱和原因}@finally {//無論異常是否發生,都必須執行 <代碼塊>}<三>協議和分類分類可以擴充類的方法,無需建立子類,無需訪問類的原始碼,但是它會影響到子類。@interface Square (MathOps)-(void) print;//增加新方法,與協議預設不同,不強制實現@end協議是多個類共用的一個方法列表,與抽象類別的抽象方法類似,子類必須都要實現該方法。@protocal <NSCoding>//NSCoding協議-(void)copyWithZone;//預設是必須實現@optional //表示可選項,不強制該協議的使用者實現該函數print-(void) print;@required //表示必須實現cout-(void) cout;@@protocal <NSCopying>//NSCopying協議-(void)copy;@end@interface AddressBook: NSObject<NSCopying, NSCoding>//可以採用多個協議@interface Square (MathOps)<NSCopying, NSCoding>//分類也可以採用協議
相關文章

聯繫我們

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