第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“類方法”和“靜態(tài)方法”有什么區(qū)別?

“類方法”和“靜態(tài)方法”有什么區(qū)別?

FFIVE 2019-10-18 10:59:30
我使用過幾種不同的語言,例如Java,C#和Objective-C。在大多數(shù)語言中,不需要對象實例的方法稱為靜態(tài)方法。但是,涉及到Objective-C時,有些人在調(diào)用靜態(tài)方法時會感到防御,他們希望您將其稱為類方法。為什么將它們稱為類方法而不是靜態(tài)方法?靜態(tài)方法和類方法有什么區(qū)別?
查看完整描述

3 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊

盡管實際上大多數(shù)時候類方法和靜態(tài)方法是相同的,但是它們是不同的。使用靜態(tài)方法,該類充當(dāng)名稱空間限定符。對于類方法,類本身是一個對象,因此類方法對于類對象而言與實例方法對實例的作用完全相同。因此,您可以執(zhí)行以下操作


@interface TestClass : NSObject

+ (void)classOrInstanceMethod;

- (void)classOrInstanceMethod;

@end

...

NSArray * arr = [NSArray arrayWithObjects:

                        [[[TestClass alloc] init] autorelease],

                        [TestClass class],

                        nil];

for( id obj in arr )

    [obj classOrInstanceMethod];

調(diào)用哪個版本的classOrInstanceMethod取決于obj是類對象還是and實例。如果您熟悉工廠類模式,則此模式是Objective-C語言的一部分。


查看完整回答
反對 回復(fù) 2019-10-18
  • 3 回答
  • 0 關(guān)注
  • 1468 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號