Ob'ektlar va sinflar
Ob'ektga yo'naltirilgan dasturlashni (OOP) qo'llab-quvvatlovchi tillar odatda foydalanadi meros olish ikkala shaklda kodni qayta ishlatish va kengaytirilishi uchun sinflar yoki prototiplar. Sinflardan foydalanadiganlar ikkita asosiy tushunchani qo'llab-quvvatlaydi:
Sinflar - ma'lumotlar formatining ta'riflari va ob'ektning ma'lum bir turi yoki klassi uchun mavjud protseduralar; ma'lumotlar va protseduralarni o'z ichiga olishi mumkin (sinf usullari deb nomlanadi), ya'ni sinflar ma'lumotlar a'zolari va a'zo funktsiyalarini o'z ichiga oladi
Ob'ektlar - sinflarning misollari
Ob'ektlar ba'zan haqiqiy dunyoda topilgan narsalarga mos keladi. Masalan, grafik dasturda "aylana", "kvadrat", "menyu" kabi ob'ektlar bo'lishi mumkin. Onlayn xarid qilish tizimida "xarid qilish vositasi", "mijoz" va "mahsulot" kabi narsalar bo'lishi mumkin.[7] Ba'zida ob'ektlar ko'proq mavhum shaxslarni, masalan, ochiq faylni ifodalovchi ob'ektni yoki o'lchovlarni AQSh odatidan metrikaga o'tkazish xizmatini ko'rsatadigan ob'ektni anglatadi.
Ob'ektga yo'naltirilgan dasturlash shunchaki sinflar va ob'ektlardan ko'proq; bu atrofida dasturlashning butun paradigmasi [sic] ob'ektlar ma'lumotlar maydonlari va usullarini o'z ichiga olgan (ma'lumotlar tuzilmalari). Buni tushunish juda muhimdir; Bir-biriga bog'liq bo'lmagan bir qator usullarni birgalikda tashkil qilish uchun sinflardan foydalanish ob'ektga yo'naltirilgan emas.
Junade Ali, PHP dizayn naqshlarini o'zlashtirish[8]
Har bir ob'ekt an misol ma'lum bir sinf (masalan, "Meri" deb nomlangan maydon o'rnatilgan ob'ekt, "Employee" sinfining namunasi bo'lishi mumkin). Ob'ektga yo'naltirilgan dasturlashdagi protseduralar quyidagicha tanilgan usullari; o'zgaruvchilar shuningdek sifatida tanilgan dalalar, a'zolar, atributlar yoki xususiyatlar. Bu quyidagi shartlarga olib keladi:
Sinf o'zgaruvchilari - ga tegishli umuman sinf; har birining faqat bitta nusxasi mavjud
Instansiya o'zgaruvchilari yoki atributlar - shaxsga tegishli ma'lumotlar ob'ektlar; har bir ob'ekt har birining o'z nusxasiga ega
Ro'yxatdan o'zgaruvchilar - ma'lum bir sinf tomonidan belgilanadigan sinf va misol o'zgaruvchilariga ishora qiladi
Sinf usullari - ga tegishli umuman sinf va protsedura chaqiruvidan faqat sinf o'zgaruvchilari va kirishlariga kirish huquqiga ega bo'ling
Instance usullari - tegishli alohida ob'ektlarva ular chaqirilgan maxsus ob'ekt uchun kirish o'zgaruvchilari, kirish va sinf o'zgaruvchilari uchun kirish huquqiga ega
Ob'ektlarga biroz murakkab ichki tuzilishga ega o'zgaruvchilar singari kirish mumkin va ko'p tillarda samarali bo'ladi ko'rsatgichlar, uyumdagi yoki uyumdagi xotiradagi ushbu ob'ektning bitta nusxasiga haqiqiy havolalar sifatida xizmat qiladi. Ular qatlamini ta'minlaydi mavhumlik ichki kodni tashqi koddan ajratish uchun ishlatilishi mumkin. Tashqi kod ob'ektdan ma'lum bir kirish parametrlari to'plami bilan ma'lum bir misol usulini chaqirish, misol o'zgaruvchisini o'qish yoki misol o'zgaruvchisiga yozish orqali foydalanishi mumkin. Ob'ektlar sinfda a deb nomlanuvchi maxsus usul turini chaqirish orqali yaratiladi konstruktor. Dastur mustaqil ravishda ishlaydigan bir xil sinfning ko'plab misollarini yaratishi mumkin. Bu turli xil ma'lumotlar to'plamlarida bir xil protseduralardan foydalanishning oson usuli.
Ba'zan sinflardan foydalanadigan ob'ektga yo'naltirilgan dasturlash deyiladi sinfga asoslangan dasturlash, esa prototipga asoslangan dasturlash odatda sinflardan foydalanmaydi. Natijada, tushunchalarini aniqlash uchun bir-biridan farq qiluvchi, ammo o'xshash terminologiyadan foydalaniladi ob'ekt va misol.
Ba'zi tillarda sinflar va ob'ektlar boshqa tushunchalar yordamida tuzilishi mumkin xususiyatlar va aralashmalar.
Do'stlaringiz bilan baham: |