2013-01-14 40 views
0

我對Objective-C很陌生。我試圖確定是否有一個類的指針,然後將擴展類分配給該指針,會導致問題。例如,如果ClassB擴展ClassA,並且我這樣做:一個類的指針可以包含沒有問題的擴展類嗎?

ClassA *foo = [[ClassB alloc] init]; 

這會導致問題的某處出現問題嗎?我知道Xcode似乎可以,但這並不意味着它沒問題。

回答

4

是的,這就是所謂的多態,你可以做到沒有問題。

但是,由於在Objective-C中,消息分派是動態的,如果B類包含重寫的方法,則會執行該方法。當你知道你會收到一個繼承自已知基類的類的對象時,經常使用它,但是你不知道哪一個是對象。你可以把它變成你的優勢。

相關問題