ठीक है, इसलिए उम्मीद है कि यह प्रोग्रामर के लिए एक व्यक्तिपरक पर्याप्त प्रश्न है, लेकिन यहां जाता है। मैं भाषाओं और सॉफ्टवेयर इंजीनियरिंग प्रथाओं के अपने ज्ञान को लगातार बढ़ा रहा हूं ... और मैंने कुछ ऐसा किया है जिससे मुझे कोई मतलब नहीं है।
C ++ में, क्लास की घोषणाओं में private:
हेडर फ़ाइल में तरीके और पैरामीटर शामिल होते हैं , जो, सैद्धांतिक रूप से, यह है कि आप उपयोगकर्ता को पास करने के लिए पास करते हैं यदि आप उन्हें एक काम करते हैं।
ऑब्जेक्टिव-सी में, @interface
आप अपने निजी सदस्यों को सूचीबद्ध करने के लिए मजबूर करते हैं (कम से कम, कार्यान्वयन फ़ाइल में निजी तरीके प्राप्त करने का एक तरीका है)।
मैं जो बता सकता हूं, उससे जावा और सी # आपको एक इंटरफ़ेस / प्रोटोकॉल प्रदान करने की अनुमति देता है, जो सभी सार्वजनिक रूप से सुलभ गुणों / विधियों की घोषणा कर सकता है और कोडर को कार्यान्वयन फ़ाइल में सभी कार्यान्वयन विवरणों को छिपाने की क्षमता देता है ।
क्यों? एनकैप्सुलेशन OOP का एक मुख्य सिद्धांत है, C ++ और Obj-C में इस मूल क्षमता की कमी क्यों है? क्या ओब्ज-सी या सी ++ के लिए किसी प्रकार का सर्वोत्तम कार्य है जो सभी कार्यान्वयन को छुपाता है?
धन्यवाद,