Dinamik yozish bilan chalkashtirib bo'lmaydi.
Dinamik ma'lumotlar turi identifikatsiyasi (eng yaqin) Ma'lumot turi, RTTI) dasturni bajarish paytida o'zgaruvchi yoki ob'ekt ma'lumotlarining turini aniqlash mexanizmidir.
Tarkib
1 sotish
1.1 C ++.
1.2 delfi.
1.3 C #
1.4 Java.
1.5 Perl
2 sm. Shuningdek
3 ta eslatma
Savdo
Bunday mexanizmning ko'plab dasturlari mavjud, ammo eng keng tarqalgan:
Ob'ektlarga ko'rsatgichlar jadvali;
Ob'ekt haqida ma'lumotni u bilan saqlash.
Shunday qilib, turni aniqlash operatsiyasi jadvaldagi qidiruvga yoki bir nechta baytning ob'ektga ko'rsatadigan manzilga bir nechta baytni ko'rish uchun. Har bir usul uning afzalliklari va kamchiliklari bor [aniqlik].
C ++.
Qashqalar turlarini dinamik aniqlash uchun C ++, tintuv doirasidagi turdagi ma'lumotlar qo'llaniladi (Tynyinfo.h Faylda belgilangan), kompilyatsiya paytida kompilyator tanlovidan foydalanish kerak modul.
Dinamic_cast operator ma'lum turdagi turiga olib kelishga harakat qilmoqda. Ishning maqsadli turi ko'rsatgich, havolalar yoki bo'shliq bo'lishi kerak *.
Agar maqsad turi ko'rsatgich turi bo'lsa, unda argument sinf ob'ektiga ko'rsatgich bo'lishi kerak.
Agar maqsad turi - havolani bo'lsa, unda argument ham tegishli ma'lumot bo'lishi kerak.
Agar maqsadli turi bo'sh bo'lsa, argument shuningdek ko'rsatgich bo'lishi kerak va operatsiya natijasi ierarxiyaning "eng leyterativa" sinfining har qanday elementiga murojaat qila oladigan ko'rsatgich bo'ladi boshqa har qanday sinf uchun asosiy bo'ling.
Turiidning tipidagi operatori [2] turdagi ma'lumotni olish uchun dala tarkibidagi tip_info tuzilmasiga havolani qaytaradi.
Delfi.
Delphi kompilyatori undagi barcha sinflar to'g'risidagi ma'lumotlarni bajariladigan dastur faylida saqlaydi. Uning oldida biron bir ob'ektni yaratishda (Salbiy ofsetlar uchun), sarlavhasi joylashgan, unda ushbu ob'ektning tuzilmalar sinfiga havola mavjud. Ushbu ma'lumotlar dasturchining shaffofligi bilan tilga kiradigan funktsiyalar. Operator sizga ob'ekt yoki vemir turi ma'lum bir tur ekanligini tekshirish imkonini beradi va operator ob'ektlar yoki interfeyslarni bir turdan boshqasiga olib kirish uchun ishlatiladi.
Ob'ekt sarlavhalari - shuningdek, avtomatik boshqarish uchun ishlatiladi.
C #
C # harfi ijro etish paytida ob'ekt turini aniqlash uchun, gettype usuli, shuningdek C ++ da tipik va dinuyc_cast uchun o'xshash bo'lmagan kalit so'zlar sifatida qo'llaniladi.
Java.
Javada, ob'ekt turi Java.langc.ojugct sinfida e'lon qilingan getliclass () usulidan foydalanib, har bir sinf tomonidan amalga oshirilgan. Muvorlarni tekshirish uchun
Do'stlaringiz bilan baham: |