Maslahat. Agar a’zo funksiya ma’lumotlar maydonini o`zgartirmasligi kerak bo`lsa, uni const funksiya sifatida aniqlang. BMI dagi barcha a’zo funksiyalar const funksiyalar.
Faraz qilaylik, BMI sinf yaratilgan. 3.12-kodli ro`yxat bu sinfni sinovdan o`tkazuvchi dastur vazifasini bajarib beradi.
7-qator Jon Dou uchun bmi1 ob’yektni, 11-qator Syuzan King uchunbmi2 ob’yektni hosil qiladi. BMI ob’yektidan vazn ko`rsatkichi to`g`risidagi ma’lumotni olish uchun getName(), getBMI() vagetStatus() – nusxa funksiyalaridan foydalanishimiz mumkin.
Tana vazn ko`rsatkichi (TVK)ni hisoblashning matematik formulasi TVK ni hisoblash masalasida keltirilgan. getBMI() nusxa funksiyasi TVK (BMI)ni qaytaradi. Shu boisdan, vazn va bo`y ob’yekt tarkibida nusxa ma’lumotlar maydoni sanaladi va getBMI() funksiya TVK ni hisoblash uchun bu xususiyatlardan foydalanishi mumkin. getStatus() nusxa funksiyasi BMI ni tavsiflovchi satrni qaytaradi.
Bu misol ob’yektga yo`naltirilgan dasturlashning protsedurali dasturlashga nisbatan foydali jixatlarini ko`rsatib beradi. Protsedurali paradigma funksiyalarni loyihalashga qaratilgan. Ob’yektga yo`naltirilgan paradigma ob’yektlarga ma’lumotlarni va funksiyalarni bog`laydi. Ob’yektga yo`naltirilgan paradigmadan foydalangan holda dasturiy ta’minotni loyihalash ob’yektlar va ob’yektlar ustida amallar bajarishga qaratilgan. Ob’yektga yo`naltirilgan yondashuv protsedurali paradigma kuchini ob’yektda ma’lumotlarni operatsiyalar bilan bog`lovchi qo`shimcha o`lchovlar bilan o`ziga birlashtiradi.
Protsedurali dasturlashda ma’lumotlar va ular ustida amallar alohida ajratilgan hisoblanadi va bu uslubiyat ma’lumotlarni funksiyalarga yuborishni talab etadi. Ob’yektga yo`naltirilgan dasturlash ma’lumotlarni vaob’yekt deb ataluvchi yagona muhit ichida unga taalluqli bo`lgan amallarni joylashtiradi; bunday yondashuv protsedurali dasturlashdagi tabiiy mavjud bo`lgan ko`pgina masalalarga yechim topadi. Ob’yektga yo`naltirilgan yondashuv barcha ob’yektlari atributlar va harakatlarning har ikkalasi bilan ham bog`langan haqiqiy real olamni tasvirlovchi dasturlarni yaratadi. Ob’yektlardan foydalanish dasturdan ko`p sonli foydalanish imkoniyatlarini kengaytiradi hamda dastur ishlab chiqish va unga xizmat ko`rsatishni yengillashtiradi.