O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al


Abstrakt sinflar tashkil etish va ulardan foydalanish usullari


Download 1.56 Mb.
Pdf ko'rish
bet5/5
Sana06.11.2023
Hajmi1.56 Mb.
#1752159
1   2   3   4   5
Bog'liq
DASTURLASH 3

5.Abstrakt sinflar tashkil etish va ulardan foydalanish usullari.
Abstraksiya (lot. abstractio – ajratish, mavhumlash) – 1) butunning tomoni, momenti, 
boʻlagi, fragmenti, rivojlana olmagan, bir tomonlama, fragmentar (abstrakt) narsa; 2) 
bilishda ob’ektiv reallikdagi predmet, hodisalarning ikkinchi darajali, uncha muhim 
boʻlmagan ayrim xususiyatlari-dan xayolan uzoqlashtiruvchi va shu asosda ularning 
eng muhim, asosiy tomonlarini boʻrttirib koʻrsatuvchi fikriy model. Narsa va 
hodisalarning konkret tomon, belgilaridan uzoqlashish va muhim jihat, belgilarini 
ajratish jarayoni abstraksiyalash (mavhumlashtirish), shu jarayonning natijasi, yakuni, 
xulosasi esa A. deyiladi. A. bilishda tushuncha, kategoriya shaklida namoyon boʻladi. 
Mavhumlashtirish asosan tafakkoʻrning muhim xususiyati hisoblansada, lekin 
tasavvurda ham abstraksiyaning ayrim elementlarini uchratish mumkin. 
Abstraksiyalash jarayonida turli kategoriyalar, qonun, qonuniyat, sababiyat kabi 
mavhum tushunchalar vujudga kelib, bu tushuncha va kategoriyalar olamni bilishning 
muhim yakunlarini, natijalarini qurollarini tashkil etadi. Olamni oʻrganishda, 
hodisalarning mohiyatini ochishda, ular haqida toʻgʻri xulosalar chiqarishda A. ning 
ahamiyati katta. Abstraksiyalash miyaning sof ichki mahsuli emas, u reallikdagi 
hodisalar xususiyatini u yoki bu tarzda aks ettirishning hosilasidir. Reallikdagi har bir 
predmet bevosita yoki bilvosita boshqa predmet bilan bogʻliq va u bilan birga 
qandaydir umumiylikka ega. Shuning uchun har bir predmetning faqat oʻziga xos 
hislatlari bilan birga umumiy tomonlari ham borki, bular shu predmetning ma’lum 
tartibga, qandaydir umumiy qonuniyatga boʻysunishini koʻrsatadi. Shu umumiy 
tomonlarda bir turdagi qator predmetlarning hammasiga xos boʻlgan xususiyatlar 
ifodalanadi, buni faqat predmetning ayrim tomonlarini mavhumlashtirish, ulardan 
uzoqlashib, umumiy tomonlarini aniqlabgina bilish mumkin. A. jarayonida real 
predmetlardan ajralib qolish hodisalari ham koʻp uchraydi, bunda u asosli xulosalarga 
emas, balki xato natijalarga, quruq formula, sxemalarga olib keladi. A. ilm-fan, san’at 
uchun reallikni toʻgʻri va chuqur, har tomonlama bilish quroli boʻlib xizmat qiladi. 
Falsafa A. va abstraksiyalashning mohiyati, mazmuni, tabiati, ahamiyatini eng 
umumiy shaklda yoritib beradi. Aning turli xususiy tomonlari mantiq, psixologiyada 
ham tahlil etiladi. A. dialektika doirasida talqin etilganda, "konkretlikdan 
abstraktlikka oʻtish" va "abstraktlikdan konkretlikka oʻtish" degan dialektik bilish 
usullari asoslab beriladi 
OOP(Object Oriented Programming) asoslarini o'rganish davomida, e'tiborimizni 
qaratishimiz lozim bo'lgan bir tushuncha bor. U - abstraktsiyadur(abstraction). Bugun 


shu haqida gaplashib o'tamiz.
Abstraktsiya o'zi nima?
Abstraktsiya obyektga yo'naltirilgan dasturlash (OOP) tillarining asosiy 
tushunchalaridan biridir. Uning asosiy maqsadi foydalanuvchidan keraksiz 
ma'lumotlarni yashirish orqali murakkablikni boshqarishdir. Bu foydalanuvchiga 
barcha yashirin murakkablikni tushunmasdan, undan foydalanishga imkon yaratadi.
Abstraktsiya faqatgina dasturlashga taaluqli bo'lgan tushuncha emas, uni real 
hayotimizda ham ko'p javhalarda kuzatishimiz mumkin. Keling bo'lmasa, abstraktsiya 
tushunchasini, kundalik hayotimizda uchrab turadigan bankomatlardan pul yechish 
mavzusiga bog'lab ko'ramiz.
Abstraktsiya va bankomatdan pul olish
Tasavvur qiling siz talabasiz va bugun sizning bank kartangizga stipendiya tushdi. 
O'zingizni - o'zingiz mehmon qilish maqsadida, kartadagi mablag'ni naqd ko'rinishga 
keltirish uchun bankomatga tashrif buyurdingiz. Bankomatdan o'zingizga kerakli 
bo'lgan summani belgilab, uni naqd ko'rinishida qabul qilib oldingiz.
Ushbu jarayonda siz bilishingiz kerak bo'lgan ish bu - bankomat aparatiga kartani 
solib, yechilgan pulni qabul qilish. Sizga bankomat aparati o'zi qanday ishlaydi va 
pulni naqdlash jarayoni qanday bo'ladi - bu ahamiyatsiz. Kimdir bundan xavotirlanib, 
bankomat aparatini yaratdi, endi u abstrakt vazifasini bajaradi va sizga taaluqli 
bo'lmagan tafsilotlarni yashiradi. Siz shunchaki ichki dastur haqida hech qanday bilim 
talab qilmaydigan oddiy interfeys bilan o'zaro aloqada bo'lasiz.
Dasturlashda ham shu kabi tushunchalar o'rinli. Endigi navbatda C# dasturlash tilidan 
foydalanib mavzuni yanayam mustahkamlaymiz.
C# dasturlash tilida abstraktsiya
Abstraktsiya tushunchasi asosan sinf va metodlar uchun foydalaniladi va abstract 
kalit so'zi yordamida quriladi.
Abstrakt sinf- bu sodda qilib aytganda cheklangan sinf. Ya'ni undan obyekt olish 
taqiqlangan. Unga kirish uchun, undan voris sinf olish lozim.
Abstrakt metod - bu tanasi mavjud bo'lmagan, hamda faqatgina abstrakt sinfda 
ishlovchi metod hisoblanadi. Uni tanasi esa, voris sinfda taqdim etiladi.
Endi misollar bilan tanishib chiqamiz.
Example 1
using System;
// abstrakt class 'Hayvonlar' 
public abstract class Hayvolar
{
// abstrakt metod 'Ovoz()'


public abstract void Ovoz();
}
// class 'Hayvolar' dan olingan voris class 'Sigir' 
public class Sigir : Hayvolar
{
// Qayta ishlangan 'Ovoz()' metodi
public override void Ovoz()
{
Console.WriteLine("Moo");
}
}
class Program 
{
static void Main(string[] args)
{
// Sigir obyektini yaratish
Sigir sigir_obj = new Sigir();
// abstrakt metodni chaqirish 
sigir_obj.Ovoz();
}
}
Natija: Moo
Ota sinfda joylashgan abstrakt metoddan foydalanish avvalida override kalit so'zini 
yozib qo'yish talab etiladi.
Sinfni abstrakt ko'rinishga keltirish, uning ichida faqatgina abstrakt metodlari bo'lishi 
kerakligini anglatmaydi. Sinfda oddiy metodlardan ham foydalanish mumkin.
Example 2
using System;
abstract class AbstractClass 
{
// Abstrakt bo'lmagan metod


public int AddTwoNumbers(int num1, int num2)
{
return num1 + num2;
}
public abstract int MultiplyTwoNumbers(int num1, int num2); 
}
class VorisClass : AbstractClass 
{
public override int MultiplyTwoNumbers(int num1, int num2)
{
return num1 * num2;
}
}
class Program 
{
static void Main(string[] args)
{
VorisClass d = new VorisClass();
Console.WriteLine($"Yig'indi: {d.AddTwoNumbers(4, 6)}, Ko'paytma: 
{d.MultiplyTwoNumbers(6, 4)}");
}
}
Natija: Yig'indi: 10, Ko'paytma: 24
 

Download 1.56 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling