Dasturlash uslublari va paradigmalari


Buning namunaviy kodi va sinf diagrammasi



Download 408,89 Kb.
bet6/9
Sana21.07.2021
Hajmi408,89 Kb.
#124955
1   2   3   4   5   6   7   8   9
Bog'liq
DUVPYN

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 408,89 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