Function prototype
કોમ્પ્યુટર પ્રોગ્રામિંગમાં, ફંક્શન પ્રોટોટાઇપ અથવા ફંક્શન ઇન્ટરફેસ એ ફંક્શનની ઘોષણા છે જે ફંક્શનનું નામ અને પ્રકાર સહી (એરીટી, ડેટા પ્રકારનાં પરિમાણો અને વળતર પ્રકાર) સ્પષ્ટ કરે છે, પરંતુ ફંક્શનને બાકાત રાખે છે. જ્યારે કાર્યની વ્યાખ્યા સ્પષ્ટ કરે છે કે કાર્ય તે કેવી રીતે કરે છે ("અમલીકરણ"), કાર્ય પ્રોટોટાઇપ ફક્ત તેના ઇન્ટરફેસને સ્પષ્ટ કરે છે, એટલે કે. કયા ડેટા પ્રકારો તેમાં જાય છે અને તેમાંથી બહાર આવે છે. "ફંક્શન પ્રોટોટાઇપ" શબ્દનો ઉપયોગ ખાસ કરીને પ્રોગ્રામિંગ ભાષાઓ સી અને સી + + ના સંદર્ભમાં થાય છે જ્યાં હેડર ફાઇલોમાં કાર્યોની આગળની ઘોષણાઓ મૂકવાથી પ્રોગ્રામને અનુવાદ એકમોમાં વિભાજિત કરવાની મંજૂરી મળે છે, એટલે કે. એવા ભાગોમાં કે જેને કમ્પાઇલર અલગથી ઑબ્જેક્ટ ફાઇલોમાં અનુવાદિત કરી શકે છે, જેને લિંકર દ્વારા એક્ઝેક્યુટેબલ અથવા લાઇબ્રેરીમાં જોડવામાં આવે છે. ફંક્શન ઘોષણા ફંક્શનની વ્યાખ્યાથી આગળ છે, જેમાં અન્ય સંબંધિત વિશેષતાઓ સાથે નામ, વળતર પ્રકાર અને સંગ્રહ વર્ગની વિગતો આપવામાં આવે છે. ફંક્શન પ્રોટોટાઇપ્સનો ઉપયોગ ત્યારે થઈ શકે છે જ્યારે ક્યાં તોઃ બાહ્ય પ્રકારને વ્યાખ્યાયિત કરવો ઇન્ટરફેસ ભાગ બનાવવો પ્રોટોટાઇપમાં, પરિમાણ નામો વૈકલ્પિક હોય છે (અને C/C + + માં કાર્ય પ્રોટોટાઇપ અવકાશ હોય છે, એટલે કે તેમનો અવકાશ પ્રોટોટાઇપના અંતે સમાપ્ત થાય છે), જો કે, પ્રકાર તમામ સંશોધકો સાથે જરૂરી છે (દા. ત. જો તે નિર્દેશક હોય અથવા પરિમાણનો સંદર્ભ હોય) એકલા સિવાય. ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગમાં, ઇન્ટરફેસો અને અમૂર્ત પદ્ધતિઓ એક જ હેતુ પૂરો પાડે છે. ઉદાહરણ નીચે આપેલા કાર્યના પ્રોટોટાઇપનો વિચાર કરોઃ રદબાતલ સમ (પૂર્ણાંક a, પૂર્ણાંક b); અથવા રદબાતલ સમ (પૂર્ણાંક, પૂર્ણાંક); અથવા ઓટો સમ (પૂર્ણાંક, પૂર્ણાંક)-> રદબાતલ;// C + + માત્ર કાર્યના પ્રોટોટાઇપમાં કાર્યની સહી, કાર્યનું નામ, વળતર પ્રકાર અને પ્રવેશ સ્પષ્ટકર્તાનો સમાવેશ થાય છે. આ કિસ્સામાં વિધેયનું નામ "સમ" છે. કાર્ય હસ્તાક્ષર પરિમાણોની સંખ્યા અને તેમના પ્રકારોને વ્યાખ્યાયિત કરે છે. વળતરનો પ્રકાર "રદબાતલ" છે. આનો અર્થ એ છે કે કાર્ય કોઈ મૂલ્ય પરત કરશે નહીં. નોંધ લો કે પ્રથમ ઉદાહરણમાં પરિમાણ નામો વૈકલ્પિક છે. ઉપયોગ સી ની પ્રારંભિક આવૃત્તિઓમાં, જો કોઈ કાર્ય અગાઉ જાહેર કરવામાં ન આવ્યું હોય અને તેનું નામ ડાબી બાજુની કૌંસ દ્વારા અનુસરવામાં આવતી અભિવ્યક્તિમાં આવ્યું હોય, તો તેને પરોક્ષ રીતે એક કાર્ય તરીકે જાહેર કરવામાં આવ્યું હતું જે પૂર્ણાંક આપે છે અને તેની દલીલો વિશે કંઇ ધારવામાં આવ્યું ન હતું. આ કિસ્સામાં કમ્પાઇલર દલીલોની સંખ્યા અને પ્રકાર (ઓ) ની સંકલન-સમયની માન્યતા તપાસ કરી શકશે નહીં. C99 ધોરણમાં પ્રોટોટાઇપ્સના ઉપયોગની જરૂર છે. ચાર MyFunction (int a);/* ફંક્શન પ્રોટોટાઇપ */#include <stdio.h> #include <limits.h> int મુખ્ય (રદબાતલ) {પુચર (MyFunction (-1));/* યોગ્ય રીતે ફોર્મેટ કરેલ કૉલ */પુચર (MyFunction (1.5));/* કમ્પાઇલર એક ચેતવણી જનરેટ કરે છે કારણ કે પ્રકાર મેળ ખાતો નથી */પુચર (MyFunction ("IncorrectArgType"));/* કમ્પાઇલર એક ચેતવણી જનરેટ કરશે */પુચર (MyFunction ());/* કમ્પાઇલર ખૂબ ઓછી દલીલો પેદા કરશે */એક = 1; પુચર (MyFunction (IN) ફંક્શન પ્રોટોટાઇપનો સમાવેશ કરીને, તમે કમ્પાઇલરને જાણ કરો છો કે ફંક્શન એક પૂર્ણાંક દલીલ લે છે અને તમે કમ્પાઇલરને ખોટી રીતે ઉલ્લેખિત કૉલ્સને પકડવા માટે સક્ષમ કરો છો. હેડર ફાઇલમાં ફંક્શન પ્રોટોટાઇપ્સને મૂકીને, લાઇબ્રેરી માટે ઇન્ટરફેસને સ્પષ્ટ કરી શકાય છે. વર્ગ ઘોષણા C + + માં, કાર્ય પ્રોટોટાઇપ્સનો ઉપયોગ વર્ગ વ્યાખ્યાઓમાં પણ થાય છે. મોડ્યુલર પ્રોગ્રામિંગ પ્રોટોકોલ (ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ) એબ્સ્ટ્રેક્ટ મેથડ રેફરન્સ સબરૂટિન્સ સી પ્રોગ્રામિંગ લેંગ્વેજ ફેમિલી કમ્પ્યુટર પ્રોગ્રામિંગ પણ જુઓ.