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

Anonim

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

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

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

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

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

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

સારાંશ:

1. એબ્સ્ટ્રેક્ટ વર્ગો (અથવા પ્રકારો) કાર્યક્રમો જાહેર; ઈન્ટરફેસો અમૂર્ત પ્રકારો છે જે બધા વર્ગોને તેમના ઇન્ટરફેસને સ્પષ્ટ કરવા માટે અમલમાં મૂકવા જોઈએ.

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