Dasturlash uslublari va paradigmalari


Buning namunaviy kodi va sinf diagrammasi



Download 416,58 Kb.
bet6/9
Sana10.02.2022
Hajmi416,58 Kb.
#441531
1   2   3   4   5   6   7   8   9
Bog'liq
Dasturlash uslublari va paradigmalari

Buning namunaviy kodi va sinf diagrammasi
Dastur harorat sensori (konsoldan kiritilgan) ma'lumotlarini oladi - TemperatureMeasure sinfining har ikki ob'ekti uchun 5 ta o'lchov va ularni o'rtacha. Shuningdek, o'lchangan qiymatlarni ko'rsatish uchun ShowMeasure klassi mavjud.

# std nom maydonidan foydalanib  ;


class Sensor { 
int qiymati; ommaviy :
Sensor () {qiymati = 0; 

void setValue ( int value) {
this -> value + = value; 
}
int getValue(){
qaytish qiymati; } 
}; 
class MeasureCount {
int raqami; statik int jami; 
public : MeasureCount () {
soni = 0; 
}
void increment () {
number ++; jami ++;
}
int getNumber () { qaytish raqami; }

static int getTotal () { return total; }


};
int MeasureCount :: total = 0;
class ITemperatureMeasure
{
public :
virtual void setValue () = 0;
virtual er-xotin getValue () = 0;
}; TemperatureMeasure
klassi : ommaviy virtual ITemperatureMeasure
{
xususiy :
Sensor * h; // yig'ish
MeasureCount * o'lchov; //
ommaviy kompozitsiya :
TemperatureMeasure (Sensor * h);
int getNumber () { return o'lchov-> getNumber (); }
Ikki GetValue () { Qaytish ( ikki ) h-> GetValue () / measure-> getNumber (); }
void setValue ()
{
int qiymati;
o'lchov-> o'sish ();
cout << "t [" << o'lchov-> getNumber () << "] =" ; 
cin >> qiymati;
h-> setValue (qiymat);
}
statik int getTotal () { return MeasureCount :: getTotal (); }
};
TemperatureMeasure :: TemperatureMeasure (Sensor * h)
{
o'lchov = yangi MeasureCount ();
bu -> h = h;
}
Sinf ShowTemperature // bog'liqlik
{
davlat :
statik bo'sh Show (TemperatureMeasure t)
{
cout << t.getNumber () << ":" ;
cout << t.getValue () << "oC" << endl;
}
};

int main ()


{
Sensor * h1 = yangi Sensor ();
TemperatureMeasure tc1 (h1);
uchun ( int i = 0; i <5; i ++)
tc1.setValue ();
ShowTemperature :: Show (tc1);
cout << endl;
Sensor * h2 = yangi Sensor ();
TemperatureMeasure tc2 (h2);
uchun ( int i = 0; i <5; i ++)
tc2.setValue ();
ShowTemperature :: Show (tc2);
cout << endl;
cout << "Total:" << TemperatureMeasure :: getTotal () << endl;
cin.get (); cin.get ();
qaytish 0;
}



Yuqoridagi kod uchun UML sinf diagrammasini ishga tushirish natijasi quyidagicha bo'ladi:



Sinf diagrammasida asosiy sinf TemperatureMeasure klassi bo'lib, u harorat o'lchagichidir. Barcha o'lchovlarning o'rtacha arifmetikasi o'lchangan qiymat sifatida hosil bo'ladi - barcha o'lchovlarning yig'indisi ularning soniga bo'linadi. Sensor
klassi (harorat sensori sifatida) o'lchovlarni qabul qilish va ularni qo'shish uchun ishlatiladi . Konsol topshirig'ida o'lchovlarning o'zi ushbu sinfga yig'indiga o'tkaziladi. Sinf asosiy TemperatureMeasure klassi bilan yig'ilish munosabatlaridan iborat : biz avval Sensor sinfining ob'ektini yaratamizva keyin uni konstruktor parametri sifatida TemperatureMeasure sinfiga sinfning bir qismi sifatida ishlating.
O'lchovlarning soni bilan hosil bo'ladi MeasureCount sinf statik mulk o'z ichiga olgan, jami umumiy o'lchov sanab uchun, shuningdek, bir soni mulkini muayyan uchun metr sonini sanab uchun TemperatureMeasure ob'ekti . Class MeasureCount sinf tarkibiga nisbatan saqlanadi TemperatureMeasure : object MeasureCount to'g'ridan-to'g'ri TemperatureMeasure ob'ektini yaratishda yaratilgan (uning konstruktorida). ITemperatureMeasure
klassi TemperatureMeasure sinfining interfeysi bo'lib , o'ziga xos provayder hisoblanadi.

2. Oqimlar va jarayonlar.





  • Jarayon - bu boshqa jarayonlar bilan bir vaqtda bajarilishi mumkin bo'lgan og'ir vaznli oqimdir.

  • Oqim - bu bir xil jarayonda boshqa jarayonlar bilan bir vaqtda bajarilishi mumkin bo'lgan engil oqim.

  • Faol ob'ekt - bu jarayon yoki ipga egalik qiluvchi va boshqarish faoliyatini boshlashi mumkin bo'lgan ob'ekt.

  • Faol sinf - bu misollari faol ob'ektlar bo'lgan sinf.

  • Grafik jihatdan faol sinf qalin chiziqlar bilan to'rtburchaklar shaklida ko'rsatiladi. Jarayonlar va oqimlarlar stereotipli faol sinflar sifatida ko'rsatiladi. 


1-rasm: Faol sinf

Download 416,58 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish