जावामध्ये सारणी आणि इंटरफेसमधील फरक.

Anonim

अॅबस्ट्रक्ट क्लास बनाम इंटरफेस जावा मध्ये

जावामधील अमूर्त वर्ग आणि इंटरफेसमधील फरक समजण्यासाठी, महत्वाचे आहे, सर्व प्रथम, यापैकी प्रत्येक स्वतंत्रपणे समजून घ्या. जावामधील गोषवारा वर्ग सामान्य वैशिष्ट्यांचा संच असलेल्या उपवर्ग घोषित करण्यासाठी वापरला जातो. अमूर्त क्लासचा सामान्य वापर हा इतर वर्गांचा एक सुपर वर्ग आहे, जो परिणामस्वरूप, तो अमूर्त वर्ग विस्तारित करण्यास अनुमती देतो. एका अमूर्त कीवर्डचा वापर अमूर्त क्लासच्या घोषणेमध्ये केला जातो. ज्याप्रमाणे इतर कोणत्याही वर्गात असेल, तर अमूर्त कलामधे फील्ड आहेत जे क्लास करू शकणाऱ्या पद्धती आणि वैशिष्ट्यांचे वर्णन करतात. केवळ एक अमूर्त वर्ग घोषित करून, वर्ग आरंभ केला जाऊ शकत नाही

एक जावा इंटरफेस प्रोटोकॉलशी समतुल्य असू शकतो. हे एक प्रीसेट आणि सहमत-आधारावर वर्तन दर्शवते जे असंबंधित वस्तूंशी संवाद साधण्याची सुविधा देते. वापरकर्त्याच्या आधारावर, इंटरफेस कार्यान्वित असलेल्या विविध क्रियांसाठी की आहे. त्यामुळे इंटरफेस निर्माता आणि उपभोक्ता यांच्यात एक दुवा आहे. अशा प्रकारे जावामधील इंटरफेस म्हणजे रिक्त वस्तू असलेल्या पद्धतींचा समूह ज्यामध्ये सतत घोषणा असू शकतात. जावा इंटरफेसला क्लास उघडण्यासाठी, याचा अर्थ क्लासच्या अपेक्षीत वर्तन म्हणजे इंटरफेसच्या सर्व पद्धतींचे कार्यान्वयन.

फरक

पहिले बंद, एक अमूर्त वर्ग इंटरफेसमध्ये वापरलेल्या स्थिर आणि अंतिम क्षेत्रांविरुद्ध स्थिर किंवा अंतिम नसलेल्या फील्डसाठी परवानगी देतो. इंटरफेसमध्ये वापरल्या जाणार्या कोणतेही अंमलबजावणी कोड असू शकत नाहीत आणि गोषवारा वर्गात वापरल्या जाणार्या कार्यान्वयन कोड देखील असू शकतात. अमूर्त क्लासमध्ये चालविल्या जाणार्या अंमलबजावणीच्या कोडमध्ये काही किंवा सर्व अंमलबजावणी केलेल्या पद्धती असू शकतात. डीफॉल्टनुसार, इंटरफेसच्या सर्व पद्धती "गोषवारा" आहेत. "<

अशा पद्धती किंवा सदस्यांकरिता दृश्यमानता देखील शक्य आहे जी सार्वजनिक, संरक्षित, खाजगी, किंवा कोणत्याहीसारखी बदलू शकते. दुसरीकडे, इंटरफेसची दृश्यमानता, फक्त "सार्वजनिक" असलेल्या दृश्यमानतेसाठी एक मोड प्रीसेट केली जाऊ शकते. '"

एक गोषवारा वर्ग आपोआप ऑब्जेक्ट क्लासचे वारस करेल. याचा परिणाम म्हणजे क्लोन () आणि इक्वल्स () सारख्या पद्धती समाविष्ट केल्या आहेत. इंटरफेसमध्ये ऑब्जेक्ट क्लासचा वारसा शक्य नाही. यानंतर, अमूर्त कलामध्ये कन्स्ट्रक्टर असण्याची क्षमता आहे, पण इंटरफेसमध्ये एक असू शकत नाही.

जावामधील इंटरफेसमध्ये अनेक वारसा अंमलबजावणी करण्यासह अतिशय महत्त्वाचे कार्य आहे कारण एका वर्गामध्ये केवळ एक सुपर क्लास असू शकतो. जरी फक्त एकच सुपर क्लास अस्तित्वात असू शकतो, तरी हे कितीही इंटरफेसमध्ये लागू केले जाऊ शकते. एका अमूर्त क्लासमधील बहुसंख्य वारसा असणे शक्य नाही.

कार्यक्षमतेत, वर्गामध्ये संबंधित पद्धती शोधण्याच्या अतिरिक्त निर्देशामुळे मुख्यतः अमूर्त क्लाक्स्च्या विरूद्ध इंटरफेस अंमलात आणल्या जात आहेत. आधुनिक जावा वर्च्युअल मशीन्समुळे सतत अपग्रेड होत असलेल्या मंदीमुळे हे अंतर कमी झाले आहे.

इंटरफेसमध्ये एक पद्धत जोडणे आपल्याला विशिष्ट इंटरफेस अंमलबजावणी करणार्या सर्व अंमलबजावणी वर्गांचा मागोवा घेणे आवश्यक आहे. वैकल्पिकरित्या, तुम्ही इंटरफेस वाढवू शकता जेणेकरून त्यास अतिरिक्त पद्धतींचा वापर करता येईल. आपण एक अमूर्त वर्ग वागण्याचा घडले तर, सर्व आवश्यक आहे पद्धत मुलभूत अंमलबजावणी जोडण्यासाठी आणि कोड सुरू काम आहे. अॅब्स्ट्रॅट क्लासेस आणि इंटरफेसेसमध्ये मतभेद अस्तित्वात असल्याने, हे लक्षात घेणे महत्वाचे आहे की ते प्रतिस्पर्धी नाहीत, परंतु येथे उल्लेख केलेले फरक एकमेकांना पूरक आहेत.

सारांश

तात्पुरती वर्ग क्षेत्रे स्थिर आणि अंतिम सरोवर असलेल्या इंटरफेसच्या विरूद्ध स्थिर किंवा अंतिम नसतात.

  1. तो अमूर्त क्लासमध्ये वापरला जाऊ शकत नसल्यास इंटरफेसमध्ये कोणतेही अंमलबजावणी कोड वापरले जाऊ शकत नाही.

  2. इंटरफेसची दृश्यमानता केवळ सार्वजनिक असू शकते, तर अमूर्त क्लासची दृश्यमानता बदलू शकते.

  3. एक अमूर्त वर्ग ऑब्जेक्ट क्लासचा आपोआप वार होईल, परंतु तो इंटरफेसमध्ये शक्य नाही.

  4. अमूर्त वर्ग अंमलबजावणीमध्ये इंटरफेसपेक्षा वेगवान आहे. <