www.wikidata.uk-ua.nina.az
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2011 Fu nkcionalnij ob yekt angl function object funktor ob yekt funkciya koncepciya v programuvanni yaka peredbachaye vikoristannya ob yekta klasu yak funkciyi chasto zi zberezhennyam sintaksisu vikliku Zmist 1 Vikoristannya 2 C ta C 3 C 4 Objective CVikoristannya RedaguvatiFunktori legko vikoristovuvati dlya napisannya kolbekiv C ta C RedaguvatiV S funktor mozhlivo viznachiti yavno chi vikoristati lyambda viraz iz zamikannyam yak anonimnij funktor Rozglyanemo priklad funkciyi sortuvannya yaka dlya porivnyannya dvoh elementiv vikoristovuye kolbek funkciyu Programa mozhe mati takij viglyad include lt stdlib h gt kolbek funkciya porivnyannya elementiv int compare ints function void A void B return int A lt int B S deklaraciya funkciyi sortuvannya void sort void first item size t item size void last item int cmpfunc void void int main void int items 4 3 1 2 sort void items sizeof int void items 3 compare ints function return 0 U C zamist funkciyi mozhna vikoristati ob yekt klasu v yakomu pereviznachenij operator operator Programa mozhe mati takij viglyad struct compare class bool operator int A int B const return A lt B S deklaraciya funkciyi sortuvannya template lt class ComparisonFunctor gt void sort ints int begin items int num items ComparisonFunctor c int main int items 4 3 1 2 sort ints items sizeof items sizeof items 0 compare class Zauvazh sho sintaksis peredachi kolbeku v sort ints identichnij ale v S varianti peredayetsya ob yekt a ne vkazivnik na funkciyu Pid chas vikliku kolbek funkciya vikonuyetsya yak i bud yakij inshij metod i tomu maye povnij dostup do inshih metodiv ta poliv klasu C RedaguvatiU C funktori realizovano u viglyadi delegativ Objective C RedaguvatiV Objective C ob yekt funkciya stvoryuyetsya shlyahom vikoristannya klasu NSInvocation Dlya stvorennya funktora potribni signatura metodu cilovij ob yekt ta vkazivnik metodu selector Priklad kodu v yakomu viklikayetsya metod buildDocument stvorennya funktora SEL sel selector buildDocument NSInvocation inv NSInvocation invocationWithMethodSignature self methodSignatureForSelector sel inv setTarget self inv setSelector sel zapustiti viklikati inv invoke Perevaga klasu NSInvocation v tomu sho cilovij ob yekt mozhna zminiti pislya stvorennya ekzemplyaru NSInvocation Odin ekzemplyar NSInvocation mozhna perevikoristati dlya vikliku na riznih ob yektah Otrimano z https uk wikipedia org w index php title Funktor programuvannya amp oldid 28003200