Refleksija (programavimas)

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Refleksija – galimybė programinėmis priemonėmis išgauti aukšto lygio programos struktūrą – informaciją apie tipus, klases, klasių metodus ir pan. Kai kuriose programavimo kalbose refleksija suteikia galimybę modifikuoti programos struktūrą (dinamiškai kurti klases, funkcijas). Refleksija būdinga aukšto lygio programavimo kalboms, tokios kalbos kompiliavimo metu ne tik sukuria vykdymo kodą, bet ir išsaugo metainformaciją apie struktūrą, todėl atsiranda galimybė programos kode tirti šiuos metaduomenis, pavyzdžiui, dinamiškai perrinkti tam tikros iš anksto nežinomos klasės metodus, taip pat juos vykdyti.

Vienaip ar kitaip dinaminę reflekciją palaiko nemaža dalis interpretuojamų kalbų, pilnai – objektinės kalbos. Kai kurios refleksiją palaikančios kalbos: