Asosiy qism i-bob
Download 394.25 Kb.
|
dasturlash asoslari kurs ishi Sh.shomurodov
- Bu sahifa navigatsiya:
- 2.2.Sinf merosi
Yagona asosiy sinfBir qator dasturlash tillarida aniq yoki yashirin ravishda barcha sinflar ba'zi bir asosiy sinflardan meros bo'lib olinadi. Smalltalk ushbu kontseptsiyani ishlatgan birinchi tillardan biri edi. Bunday tillarga quyidagilar kiradi: Objective-C (sinf NSObject), Perl ( UNIVERSAL), Eyfel ( ANY), Java ( java.lang.Object), C # ( System.Object), Delphi ( TObject), Scala ( Any). 2.2.Sinf merosiSinf merosi ob'ektga yo'naltirilgan dasturlashda juda kuchli xususiyatdir. Bu tayanch sinfning barcha usullari va elementlarini (ota-ona sinfi) asos qilib olib, hosil qilingan sinflarni (meros qilib olingan sinflar) yaratishga imkon beradi. Bu yangi dastur kodini yozish va disk raskadrovka uchun ko'p vaqtni tejaydi. Boshiga bir sinf ob'ektlari bepul uchun asosiy sinf yaratilgan va debugged narsani foydalaning. Shu bilan birga, biz ham qila olamiz olingan sinfga dasturni takomillashtirish uchun kerakli kodni qo'shing: yangi elementlar, usullar va boshqalarni qo'shing. Asosiy sinf buzilmasdan qoladi. Ushbu mavzuni yangi boshlanuvchilar egallashi mumkin. Siz faqat sintaksis va ba'zi xususiyatlar bilan tanishishingiz kerak. Quyida oddiy dastur kodi keltirilgan, biz uni ro'yxat ostida batafsil tahlil qilamiz. Ushbu dasturda ikkita sinf yaratilgan: asosiy - FirstClass va undan kelib chiqqan SecondClass. Misol:
Biz misolni tartibda tahlil qilamiz. Ilgari, biz faqat kirish ko'rsatgichlari bilan ishladik privateva public. 6 - qatorda biz uchun yangi kirish aniqlovchisi bilan tanishdik protected. Bu bilan ajralib turadi private, chunki u kelib chiqqan sinflardan asosiy sinf a'zolariga kirish imkoniyatini beradi. Agar element value maydonda bo'lsa private, unda unga kirish yopilgan bo'lar edi va biz 34 - 37 satrlarda belgilangan SecondClassfunktsiya yordamida sinf ob'ekti orqali uning qiymatini o'zgartira olmaymiz .ValueSqr() Aniqroq qilish uchun kirish spetsifikatorlaridagi farqlar jadvalda aks etishi mumkin:
Download 394.25 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling