2012-06-08 13 views
12

संभव डुप्लिकेट:
What do the plus and minus signs mean in Objective C next to a method?प्लस (+) बनाम ऋण (-) उद्देश्य-सी में

ऑब्जेक्टिव-सी में एक प्लस या माइनस का उपयोग कर के बीच अंतर क्या है?

उदाहरण के लिए, बार कोड के सबसे -(void)somethingSomethingelse शुरू होता है, लेकिन कभी कभी यह हो जाएगा +(void)somethingSomethingelse

धन्यवाद!

उत्तर

5

सदस्य और क्रमश: सार्वजनिक कार्यों के लिए इस उत्तर देखें है।

इस तरह की है कि

id object = [[NSObject alloc] init]; 
+ (id)alloc; 
- (id)init; 

कहाँ NSObject एक कक्षा है और आईडी एक वस्तु

क्या तुमने कभी इस्तेमाल किया है, तो सी ++, एक + स्थिर

28

- कार्यों के बराबर है उदाहरण के कार्य हैं और + फ़ंक्शंस क्लास (स्थिर) फ़ंक्शन हैं।

Person *myPerson = [[Person alloc] init];

:

तो मान लीजिए कि आप एक वर्ग Person कहा जाता है, और निम्नलिखित कार्य

-(void)doSomething;

+(void)doSomethingElse;

आप निम्न के साथ इन कार्यों को लागू होगा चलो [myPerson doSomething];

[Person doSomethingElse];

यह आपको वर्ग उदाहरण बनाम की अवधारणा को समझने संभालने में एक वाक्य विन्यास विवरण के अधिक है।

संपादित करें:

बस जोड़ने के लिए: उद्देश्य सी में, आप वास्तव में एक उदाहरण पर एक वर्ग समारोह आह्वान कर सकते हैं, लेकिन प्रभाव वर्ग ही (अनिवार्य रूप से करने के लिए संकलित पर यह लागू से अलग नहीं है वही चीज)।

तो तुम

[myPerson doSomethingElse]

आम तौर पर कर सकते हैं, यदि आप ऐसा नहीं करेंगे क्योंकि यह भ्रामक और पढ़ने के लिए भ्रामक है। मैं इसे इंगित कर रहा हूं ताकि अगर आप इस तरह के कोड पर आते हैं तो आपको आश्चर्य नहीं होगा।

संबंधित मुद्दे