Refleksiya – proqramlaşdırmada: proqramın icrası zamanı öz strukturunu və hərəkətlərini izləyə və dəyişdirə bildiyi proses. İnikasın əsaslandığı proqramlaşdırma paradiqması refleksiv proqramlaşdırma adlanır. Bu, metaproqramlaşdırmanın növlərindən biridir.
Müasir kompüter arxitekturalarının əksəriyyətində proqram kodu (CODE) verilənlər (DATA) kimi saxlanır. Kod və verilənlər arasında fərq ondan ibarətdir ki, kompüterlər kodu yerinə yetirməklə verilənləri emal edir. Başqa sözlə, kod (göstərişlər) yerinə yetirilir, verilənlər isə bu göstərişlərə uyğun olaraq emal olunur. Fəqət bəzi dillərdə yazılmış proqramlar öz göstərişlərini (INSTRUCTION) verilənlər kimi emal etmək və, beləliklə də, refleksiv modifikasiyaları yerinə yetirmək imkanına malikdir. Belə özünü modifikasiya edən proqramlar, əsasən, virtual maşından istifadə edən yüksək səviyyəli proqramlaşdırma dilləri (məsələn, SMALLTALK, skriptli dillər) vasitəsilə yaradılır. Refleksiyadan bir az aşağı səviyyədə Java, C, ML, Haskell kimi dillərdə istifadə olunur.
// Refleksiyasız new Foo().Hello();
// Refleksiya ilə Type type=System.Type.GetType("Foo"); var foo=Activator.CreateInstance(type); foo.GetType().GetMethod("Hello").Invoke(foo, null);
R-14. dilində Foo sinfinin foo nüsxəsinin yaradılması və Hello metodunun çağrılması: refleksiyasız və refleksiyadan istifadə olunmaqla
Ədəbiyyat
- İsmayıl Calallı (Sadıqov), “İnformatika terminlərinin izahlı lüğəti”, 2017, “Bakı” nəşriyyatı, 996 s.
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Refleksiya proqramlasdirmada proqramin icrasi zamani oz strukturunu ve hereketlerini izleye ve deyisdire bildiyi proses Inikasin esaslandigi proqramlasdirma paradiqmasi refleksiv proqramlasdirma adlanir Bu metaproqramlasdirmanin novlerinden biridir Muasir komputer arxitekturalarinin ekseriyyetinde proqram kodu CODE verilenler DATA kimi saxlanir Kod ve verilenler arasinda ferq ondan ibaretdir ki komputerler kodu yerine yetirmekle verilenleri emal edir Basqa sozle kod gosterisler yerine yetirilir verilenler ise bu gosterislere uygun olaraq emal olunur Feqet bezi dillerde yazilmis proqramlar oz gosterislerini INSTRUCTION verilenler kimi emal etmek ve belelikle de refleksiv modifikasiyalari yerine yetirmek imkanina malikdir Bele ozunu modifikasiya eden proqramlar esasen virtual masindan istifade eden yuksek seviyyeli proqramlasdirma dilleri meselen SMALLTALK skriptli diller vasitesile yaradilir Refleksiyadan bir az asagi seviyyede Java C ML Haskell kimi dillerde istifade olunur Refleksiyasiz new Foo Hello Refleksiya ile Type type System Type GetType Foo var foo Activator CreateInstance type foo GetType GetMethod Hello Invoke foo null R 14 C dilinde Foo sinfinin foo nusxesinin yaradilmasi ve Hello metodunun cagrilmasi refleksiyasiz ve refleksiyadan istifade olunmaqlaEdebiyyatIsmayil Calalli Sadiqov Informatika terminlerinin izahli lugeti 2017 Baki nesriyyati 996 s