Kurs ishining maqsadi va vazifalari. Bu kurs ishining asosiy maqsadi va vazifasi talabalarga massivlar sinfi imkoniyalarini tanishtirish. Ularda massivlar sinfi haqida ko'nikmalarni hosil qilish hamda amaliyotda tadbiq qila oladidan darajada tushuntirish va malakalarini oshirishdan iborat.
II.Asosiy qism.
1. Sinf kutubxonasi loyihasini yaratish.
Oldingi boblarda obyektga yo‘naltirilgan dasturlashning asosiy tushunchalari yoritilgan. Ushbu bobda biz ushbu tushunchalarning aksariyatini amaliy misolda qo'llaydigan dastur yaratamiz.
Birinchidan, yangi .NET Core konsol ilova loyihasini yarataylik, biz uni BankApplication deb nomlaymiz :
Ammo sinflar va interfeyslarni saqlash uchun ko'pincha alohida loyihalar yaratiladi, ular ichida barcha sinflar DLL kutubxonasi fayliga kompilyatsiya qilinadi, keyinchalik u asosiy loyihaga ulanadi. Shunday qilib, keling, yechimga yangi loyiha qo'shamiz. Buning uchun yechimni sichqonchaning o'ng tugmasi bilan bosing va kontekst menyusidan Qo'shish -> Yangi loyiha ... ni tanlang :
Shundan so'ng, yechimga yangi loyiha qo'shiladi, u sukut bo'yicha bitta Class1.cs fayliga ega . Bizga kerak emas, shuning uchun biz ushbu faylni o'chirib tashlaymiz.
Ushbu loyiha asosiy loyiha tomonidan qo'llaniladigan barcha sinflarni o'z ichiga oladi.
Bizning ilovamiz bank faoliyatini simulyatsiya qiladi. Ilova ustida ishlashni boshlashdan oldin, biz foydalanadigan ob'ektlarni, shuningdek, ob'ektlar o'rtasidagi munosabatlarni ajratib ko'rsatamiz. Xususan, bu erda biz bankning o'zi, bank hisobvarag'i kabi sub'ektlarni ajratib ko'rsatishimiz mumkin. Hisoblar har xil ko'rinishda bo'ladi, masalan, talab qilinadigan hisobvaraqlar va depozitlar, mos ravishda bir nechta hisob sub'ektlari bo'ladi.
Avvalo, BankLibrary loyihasiga bank hisobining funksionalligini tavsiflovchi yangi interfeys qo‘shamiz. Interfeysni loyihalashda shuni yodda tutingki, agar u funksionallikni amalga oshirmasdan aniqlasa, u holda bu funksiya ushbu interfeysdan foydalanadigan sinflarda amalga oshirilishi kerak.
Shunday qilib, IAccount interfeysini BankLibrary loyihasiga qo'shamiz , u quyidagi tarkibga ega bo'ladi:
public interface IAccount
{
void Put(decimal sum);
decimal Withdraw(decimal sum);
}
Ushbu interfeys hisobvaraqdan pul mablag'larini kiritish yoki olishning ikkita usulini belgilaydi.Hisob holatidagi o'zgarishlarga javob berish uchun biz voqea modelidan foydalanamiz, ya'ni hisobdagi turli o'zgarishlar voqealar orqali qayta ishlanadi. Buning uchun BankLibrary loyihasiga AccountStateHandler.cs yangi faylini qo'shing , unda biz delegat va yordamchi sinfni aniqlaymiz:
namespace BankLibrary
{
public delegate void AccountStateHandler(object sender, AccountEventArgs e);
public class AccountEventArgs
{
// Habarni kiriting
public string Message { get; private set;}
// o’zgargan summani kiriting
public decimal Sum { get; private set;}
public AccountEventArgs(string _mes, decimal _sum)
{
Message = _mes;
Sum = _sum;
}
}
}
Delegat AccountStateHandlertadbirlarni yaratish uchun ishlatiladi. Va hodisalarni qayta ishlash AccountEventArgsuchun o'qish uchun ikkita xususiyatni belgilaydigan sinf ham aniqlanadi: voqea xabari va hisob o'zgargan miqdor.Endi Hisob ilovasining asosiy sinfini aniqlaymiz.
Do'stlaringiz bilan baham: |