МуРrор xususiyatining turi ham o'qish, ham yozish uchun belgilangan, u ma'lumotlarni asosiy maydondan o'qish va yozish imkonini beradi. Shunga qaramay, xususiyatlar faqat o'qish uchun yoki faqat yozish uchun mavjud bo'lishi mumkin. Shunday qilib, agar faqat o'qish uchun mavjud bo'lgan xususiyatni yaratish kerak bo'lsa, unda faqatgina get aksessorini aniqlash kifoya. Agar faqat qiymat berish uchun xususiyat yaratish kerak bo'lsa, unda faqat set aksessorini aniqlash kifoya.
Xatoliklardan xoli massivni yanada yaxshilash uchun xususiyatdan foydalanamiz. Siz allaqachon ma`lum, barcha massivlar tegishli uzunlik(Length) xususiyatiga ega. Hozirgacha FailSoftArray sinfida bu maqsad uchun ochiq Length butun maydoni ishlatilgan. Lekin bu eng yaxshi yondashuv emas, chunki u xatoliklardan xoli massiv uzunligiga farq qiluvchi qiymatlarni o'rnatishga imkon beradi. (Masalan, zararli maqsadlarni ko'zlagan dasturchi bu maydonga noto'g'ri qiymatni ataylab kiritishi mumkin.) Ushbu pozitsiyani tuzatish uchun FailSoftArray sinfining Length maydonini "faqat o'qish" xususiyatiga aylantiramiz
// FailSoftArray sinfiga Length xususiyatini qo'shish.
using System;
class FailSoftArray {
int[] a; // asosiy massivga havola
int len; // Massiv uzunligi sifatida Length xususiyati asos bo'lib xizmat qiladi.
public bool ErrFlag; // oxirgi operatsiya natijasini belgilaydi
// Berilgan o`lchovda massiv qurish
public FailSoftArray(int size) {
a = new int[size];
len = size;
}
// Length xususiyati faqat o'qish uchun
public int Length {
get {
return len;
}
}
Do'stlaringiz bilan baham: |