2010-10-03 8 views
8

मुझे पता है कि आधुनिक प्रोग्रामिंग भाषाओं में अधिकांश चीजें कम से कम आंशिक रूप से पहले भाषाओं में सुविधाओं के आधार पर हैं।जावा को इंटरफेस के लिए विचार कहां से मिला?

इससे मुझे आश्चर्य होता है कि जावा को इंटरफेस के लिए प्रेरणा मिली। क्या यह ज्यादातर अपनी रचना थी? क्या यह पूरी तरह से सार बेस कक्षाओं (एकाधिक विरासत के साथ) पर आधारित था?

+0

मुझे पूरा यकीन है कि यह एक डुप्ली है। –

+0

क्या आप मुझे बता सकते हैं कि यह एक डुप्लिकेट है? मुझे इसके लिए भी जवाब देखना अच्छा लगेगा। –

उत्तर

7

हाल ही में उद्देश्य-सी पुस्तक में मैं Learn Objective-C on the Mac पढ़ रहा था, लेखकों का सुझाव है कि जावा के इंटरफेस के लिए प्राथमिक प्रेरणा उद्देश्य-सी के Formal Protocols के कार्यान्वयन से है। या स्पष्ट रूप से सिर्फ विधि हेडर - - Obj सी में

औपचारिक प्रोटोकॉल फ़ाइलें, सिर्फ जावा के इंटरफेस, कि सार तरीकों से भर रहे हैं की तरह हैं कि डेवलपर अगर औपचारिक प्रोटोकॉल प्रयोग किया जाता है को लागू करना चाहिए। ऐप्पल के कोको के सबसे हालिया अपडेट में, औपचारिक प्रोटोकॉल में वैकल्पिक विधियां भी शामिल हो सकती हैं जिन्हें डेवलपर को लागू करने की आवश्यकता नहीं है यदि वर्ग प्रोटोकॉल लागू करता है।

+3

जावा डिज़ाइन टीम उद्देश्य-सी डिज़ाइन टीम को बहुत अच्छी तरह से जानता था, और बाद में जब नेक्सट्सटेप ने नाली को घुमाने शुरू कर दिया, तो उनमें से बहुत से जहाज कूद गए और सूर्य में शामिल हो गए। प्रोटोकॉल ऑब्जेक्टिव-सी, वास्तव में पूरे ऑब्जेक्ट मॉडल से लिया गया एकमात्र चीज नहीं है और यहां तक ​​कि पूरी भाषा उद्देश्य-सी से ली गई है। जावा बहुत अधिक उद्देश्य-सी - सी + जीसी है। –

+0

हालांकि मैं उद्देश्य-सी के ऑब्जेक्ट उन्मुख हिस्सों को गतिशील रूप से टाइप किया गया था? –

0

असल में यह एकाधिक विरासत और अमूर्त वर्ग के विचार से आता है। हमारे प्रिय श्री गोस्लिन वर्ग स्तर में एकाधिक विरासत नहीं चाहते थे।

6

मुझे लगता है कि जावा के डिजाइनरों को एहसास हुआ कि a lot of flaws in using multiple implementation inheritance हैं, लेकिन फिर भी वे उत्तराधिकारी को गुणा करने में सक्षम होना चाहते थे। इस प्रकार, समाधान multiple interface inheritance था।

इसके अलावा, पिछले लिंक से:

इसके बजाय, जावा के डिजाइनरों करने के लिए चुना इंटरफेस का उपयोग, एक विचार उद्देश्य सी प्रोटोकॉल से उधार के माध्यम से कई इंटरफेस विरासत अनुमति देते हैं। एकाधिक इंटरफ़ेस विरासत को चेतावनी के साथ विधि हस्ताक्षर प्राप्त करने के लिए विरासत ऑब्जेक्ट को उन विरासत विधियों को लागू करना आवश्यक है।

तो, शॉन वास्तव में सही है।

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