Objective-C 封裝 繼承 多態

來源:互聯網
上載者:User

標籤:

封裝

#import <Foundation/Foundation.h>@interface Person : NSObject {    //@public    int _age;}- (void) setAge : (int) age;- (int) age;@end@implementation Person- (void) setAge : (int) age {    if(age <= 0) {        age = 1;    }    _age = age;}- (int) age {    return _age;}@endint main() {    Person *p = [Person new];    //p->age = 10;    //NSLog(@"年齡是: %i", p->age);        [p setAge : 0];    NSLog(@"年齡是: %i", [p age]);    return 0;}/** 注意我的命名規範 **///封裝的好處: 代碼的安全性高

繼承和組合

#import <Foundation/Foundation.h>@interface AClass : NSObject {    int _age;    int _height;}@end@implementation AClass@end/** 繼承 **/@interface BClass : AClass{}@end@implementation BClass@end/** 組合 **/@interface CClass : NSObject {    AClass *_aClass;}@end@implementation CClass@endint main() {    return 0;}//子類方法和屬性的訪問過程: 如果子類沒有 就去訪問父類的//子類和父類不能有相同的成員變數//子類和父類可以有相同的方法(方法的重寫)/** 繼承的好處 **///不改變原來模型的基礎上 拓充方法//建立類與類之間的聯絡//抽取了公用代碼/** 繼承的壞處 **///耦合性強/** super 關鍵字 **///直接調用父類中的方法 [super 方法名]//super 處在對象方法中就會調用父類的對象方法//super 處在類方法中就會調用父類的類方法//使用場合: 子類重寫父類的方法時想保留父類的一些行為

多態

#import <Foundation/Foundation.h>@interface Animal : NSObject- (void) eat;@end@implementation Animal- (void) eat {    NSLog(@"Animal在吃東西");}@end@interface Dog : Animal@end@implementation Dog- (void) eat {    NSLog(@"Dog在吃東西");}@endint main() {    Animal *a = [Dog new];    [a eat];    return 0;}/** 多態 **///多態只存在子父類繼承關係中//子類對象賦值給父類指標/** 多態的好處 **///用父類接收參數 節省代碼/** 多態的局限性 **///父類類型的變數不能直接調用子類特有的方法(可以考慮強制轉換)/** 多態的細節 **///動態綁定: 在運行時根據對象的類型確定動態調用的方法 

Objective-C 封裝 繼承 多態

相關文章

聯繫我們

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