જાવામાં એબ્સ્ટ્રેક્ટ ક્લાસ અને ઇન્ટરફેસ વચ્ચેના તફાવતો

Anonim

એબ્સ્ટ્રેક્ટ ક્લાસ વિ ઇન્ટરફેસ જાવામાં

જાવામાં અમૂર્ત વર્ગ અને ઇન્ટરફેસ વચ્ચેનાં તફાવતોને સમજવા માટે, એ મહત્વનું છે, સૌ પ્રથમ, આમાંના દરેકને સ્વતંત્ર રીતે સમજો જાવામાં અમૂર્ત વર્ગ સામાન્ય લાક્ષણિકતાઓના સમૂહ સાથે સબક્લાસની જાહેરાતમાં ઉપયોગમાં લેવાય છે. અમૂર્ત વર્ગનો સામાન્ય ઉપયોગ અન્ય વર્ગોનો એક સુપર વર્ગ છે, જે અસરકારક રીતે, તે અમૂર્ત વર્ગને વિસ્તારવા માટે પરવાનગી આપે છે. એક અમૂર્ત કીવર્ડનો ઉપયોગ અમૂર્ત વર્ગની જાહેરાતમાં થાય છે. કોઈપણ અન્ય વર્ગની જેમ, અમૂર્ત ક્લાસમાં એવા ક્ષેત્રો છે કે જે વર્ગો અને લાક્ષણિકતાઓ વર્ણવે છે જે વર્ગ કરી શકે છે. અમૂર્ત વર્ગની માત્ર ઘોષણા દ્વારા વર્ગને

જાવા ઇન્ટરફેસ પ્રોટોકોલને સરખાવી શકાય છે. તે એક પ્રીસેટ અને સંમત થવું વર્તનનું પ્રતિનિધિત્વ કરે છે જે બિનસંબંધિત ઑબ્જેક્ટ્સની ક્રિયાપ્રતિક્રિયાને સરળ બનાવવા માટે પરવાનગી આપે છે. વપરાશકર્તા પર આધાર રાખીને, ઇન્ટરફેસ અમલમાં મૂકાયેલ વિવિધ ક્રિયાઓ માટે કી ધરાવે છે. ઇન્ટરફેસ, તેથી, નિર્માતા અને ગ્રાહક વચ્ચેની એક લિંક તરીકે સેવા આપે છે. જાવામાં ઇન્ટરફેસો છે, આમ, નિરપેક્ષ શરીર ધરાવતા પદ્ધતિઓનું એક જૂથ છે જે સતત જાહેરાત કરી શકે છે. જાવા ઇન્ટરફેસ માટે એક વર્ગને ખુલ્લું પાડવામાં, તેનો મતલબ એવો થાય છે કે વર્ગની અપેક્ષિત વર્તણૂક એ ઇન્ટરફેસની તમામ પદ્ધતિઓનું અમલીકરણ છે.

તફાવતો

પ્રથમ બોલ, એક એબ્સ્ટ્રેક્ટ ક્લાસ ફિલ્ડ્સ માટે પરવાનગી આપે છે કે જે ઇન્ટરફેસોમાં ઉપયોગમાં લેવાતી સ્ટેટિક અને અંતિમ ફિલ્ડ્સના વિરોધમાં સ્થિર અથવા ફાઇનલ નથી. ઈન્ટરફેસમાં તેનો ઉપયોગ કોઈપણ અમલીકરણ કોડ હોઈ શકતો નથી, અને અમૂર્ત વર્ગમાં વપરાતા અમલીકરણ કોડ હોઈ શકે છે. અમૂર્ત વર્ગમાં લાગુ પાડવામાં આવતી અમલીકરણ કોડ્સ થોડા અથવા બધી અમલીકરણ પદ્ધતિઓ ધરાવી શકે છે. મૂળભૂત રીતે, ઇન્ટરફેસની તમામ પદ્ધતિઓ "અમૂર્ત છે. "

પબ્લિક, રક્ષિત, ખાનગી અથવા કોઈ નહીં, જેમ કે અલગ અલગ હોઈ શકે તેવા પદ્ધતિઓ અથવા સભ્યો માટે દ્રશ્યતા શક્ય છે. બીજી તરફ ઈન્ટરફેસની દૃશ્યતા, ફક્ત "જાહેર" દૃશ્યતાના એક મોડમાં પ્રીસેટ થઈ શકે છે. '"

એક અમૂર્ત વર્ગ આપોઆપ ઓબ્જેક્ટ ક્લાસને બોલાવે છે. આનો અર્થ એ કે, ક્લોન () અને ઇક્વલ્સ () જેવા પદ્ધતિઓનો સમાવેશ થાય છે. ઇન્ટરફેસમાં, ઓબ્જેક્ટ ક્લાસનો કોઈ વારસો શક્ય નથી. આને અનુસરીને, અમૂર્ત વર્ગ પાસે કન્સ્ટ્રકટર હોવાની ક્ષમતા છે, પરંતુ ઇન્ટરફેસમાં એક ન હોઈ શકે.

જાવાનાં ઈન્ટરફેસમાં બહુવિધ વારસાના અમલીકરણ સાથે ખૂબ મહત્વનો ફાળો છે કારણ કે વર્ગમાં ફક્ત એક સુપર ક્લાસ હોઈ શકે છે. જો કે માત્ર એક જ સુપર ક્લાસ હાજર હોઈ શકે છે, તે ગમે તે ઇન્ટરફેસોમાં લાગુ કરી શકાય છે. અમૂર્ત વર્ગમાં બહુવિધ વારસો હોવું શક્ય નથી.

પ્રભાવમાં, વર્ગમાં અનુરૂપ પદ્ધતિ શોધવા માટેની વધારાની દિશાને કારણે મુખ્યત્વે અમૂર્ત વર્ગના વિરોધમાં ઇન્ટરફેસો અમલીકરણમાં ધીમા હોય છે. આધુનિક જાવા વર્ચ્યુઅલ મશીનોને કારણે તફાવત સતત વધ્યો છે જે સતત અપગ્રેડ કરવામાં આવે છે.

ઈન્ટરફેસમાં એક પધ્ધતિને ઉમેરીને તમારે બધા અમલીકરણ વર્ગોને ટ્રેક કરવાની જરૂર છે જે ચોક્કસ ઇન્ટરફેસને અમલમાં મૂકે છે. વૈકલ્પિક રીતે, તમે ઇન્ટરફેસને વિસ્તૃત કરી શકો છો જેથી તે વધારાની પદ્ધતિઓ ધરાવી શકે. જો તમે એક અમૂર્ત વર્ગ સાથે વ્યવહાર કરી રહ્યા હો, તો તે જરૂરી છે કે જે પદ્ધતિની મૂળભૂત અમલીકરણને ઉમેરવું અને કોડ ચાલુ રહે છે. અમૂર્ત વર્ગો અને ઇન્ટરફેસ વચ્ચે તફાવતો અસ્તિત્વમાં હોવાથી, તે નોંધવું મહત્વનું છે કે તેઓ હરિફો નથી, પરંતુ અહીં ઉલ્લેખ કરેલ તફાવતો એકબીજાના પૂરક તરીકે સેવા આપે છે.

સારાંશ

  1. એબ્સ્ટ્રેક્ટ ક્લાસ ફીલ્ડ્સ સ્ટેટિક અથવા અંતિમ નથી કારણ કે ઇન્ટરફેસના વિરોધમાં છે જે સ્ટેટિક અને અંતિમ કોષ્ટકો ધરાવે છે.

  2. ઈન્ટરફેસમાં કોઈ અમલીકરણ કોડનો ઉપયોગ કરી શકાતો નથી, જ્યારે તેનો ઉપયોગ અમૂર્ત વર્ગમાં થાય છે.

  3. અરસપરસ વર્ગ દૃશ્યતા બદલાઈ શકે છે જ્યારે ઇન્ટરફેસ દૃશ્યતા માત્ર જાહેર હોઈ શકે છે.

  4. એક અમૂર્ત વર્ગ આપોઆપ ઓબ્જેક્ટ ક્લાસને બોલાવે છે, પરંતુ તે ઇંટરફેસમાં શક્ય નથી.

  5. અમલ વર્ગ અમલીકરણમાં ઇન્ટરફેસ કરતા વધુ ઝડપી છે.