2.3. Abstrakt sinflar. Polimorfizm
Abstrakt sinflar
Ildiz sinf ko’pincha konkret ob’ektlar yasash uchun emas, balki boshqa sinf ostilar
yasash asosi sifatida yasaladi.
Ba’zi metodlar ildiz sinfda hali aniq algoritmga ega bo’lmaydi agar sinf ostilar
ularni har xil aniqlashi ko’zda tutilgan bo’lsa.Bunday hollarda bo’sh metod
yasaladi (zaglushka o’rniga) va u abstract deb e’lon qilinadi. Bunday sinf ob’ektini
yasash munkin emas, u faqat sinf osti yasash uchun yasalgan.
abstract metodlar “abstract” modifikatori bilan e’lon qilinadi va ularning tanasi
mavjud bo’lmaydi. Abstract metodga ega sinf ham “abstract” modifikatoriga ega
bo’lishi kerak.
Abstract sinf abstract bo’lmagan metodlarga ham ega bolishi mumkin
Sinflar ierarxiyasidan yuqoriga ko’tarilib borgan sari sinf abstraktliligi oshib boradi
Himoyalangan ruxsat
Modifikator protected (maydon va metod uchun)
Sinf ostilar va shu sinf ostilar turgan paketlardagi sinflar uchun ruxsat
beriladi
Asosan metodlar uchun, maydonlarga ham qo’yish mumkin, lekin tavsiya
etilmaydi.
Protected modifikatori C++ dagi protected modifikatoridan farq qiladi. C++
da faqat sinf ostilargagina ruxsat beriladi
Ruxsat turlari
private – ko’rinish sohasi faqat shu sinf
public - ko’rinish sohasi chegaralanmagan
protected - ko’rinish sohasi paket va sinf ostilar
ko’rsatilmagan - ko’rinish sohasi joriy paket
Do'stlaringiz bilan baham: |