प्रथम श्रेणी कक्षा (कक्षा में गुणों की घोषणा) के सार्वजनिक इंटरफ़ेस के लिए अनुशंसित किया गया है। यह एक प्रसिद्ध सलाह है कि आपको एक ठोस कार्यान्वयन के लिए एक इंटरफ़ेस के लिए प्रोग्राम करना चाहिए (यह Design Patterns में कहा गया है) - आपके द्वारा आयात किए जाने वाले वर्गों की संख्या कोड और अच्छी डिज़ाइन की गुणवत्ता के साथ बहुत कम है।
पहले फॉर्म का लाभ यह है कि यदि आवश्यकता उत्पन्न होती है तो यह बाद में कार्यान्वयन को आसानी से स्वैप करने की अनुमति देगा - जबकि दूसरा कार्यान्वयन पत्थर में कार्यान्वयन वर्ग में सेट होता है, जिससे आपका कोड विकसित हो जाता है और कम लचीला होता है।
ऐसे मामले हैं जब कंक्रीट कक्षाओं की घोषणा करना और उपयोग करना ठीक है, हालांकि (उदाहरण के लिए, प्रदर्शन में थोड़ा टक्कर के लिए)। लेकिन कक्षा के सार्वजनिक इंटरफेस को जब भी संभव हो इंटरफेस का उपयोग करना चाहिए, इससे भविष्य में बदलावों को लागू करने में आसान बना दिया जाएगा।
स्रोत
2013-08-28 15:43:44
पूर्व आपको _abstraction_ का लाभ उठाने देता है। – rocketboy
स्पष्ट उत्तर के अलावा, आपको आयात के बारे में चिंता नहीं करनी चाहिए। वे रनटाइम पर प्रदर्शन को प्रभावित नहीं करते हैं। –
[क्या-क्या-यह-मतलब-टू-प्रोग्राम-टू-ए-इंटरफेस] पर एक नज़र डालें [http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to -न-इंटरफ़ेस) – Pshemo