Dasturlash fanidan


Mavzu-5 : Abstrakt sinflar tashkil etish va



Yüklə 90,46 Kb.
Pdf görüntüsü
səhifə5/5
tarix07.01.2024
ölçüsü90,46 Kb.
#201257
1   2   3   4   5
Mustaqil ishi 3 dasturlash

Mavzu-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


http://fayllar.org 

Yüklə 90,46 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin