Mavzu: Sinflarni yaratishda funksiyalarni qayta yuklash mexanizimidan unumli foydalanish. Reja: Kirish



Yüklə 155,87 Kb.
səhifə1/8
tarix24.12.2023
ölçüsü155,87 Kb.
#158242
  1   2   3   4   5   6   7   8
Sinflarni yaratishda funksiyalarni qayta yuklash mexanizimidan unumli foydalanish.


Mavzu: Sinflarni yaratishda funksiyalarni qayta yuklash mexanizimidan unumli foydalanish.



Reja:


Kirish

1. C++ dasturlash tilida Sinf funksiyalarini qayta yuklash, yaratish. Qayta yuklash mexanizimidan unumli foydalanish
2. C# dasturlash tilida sinflarni yaratishda operatorlarni qayta yuklash mexanizmidan unumli foydalanish.
3. Java dasturlash tilida Overriding (qayta yuklash) funksiyalari

4. Funktsiyalarni ortiqcha yuklash

4.1 Funktsiyalarni ortiqcha yuklashda qaytish turlari

4.2. Funktsiya qo'ng'iroqlari

4.3. Bir nechta tasodiflar


Xulosa
Foydalanilgan adabiyotlar




Kirish

C++ tilida inkapsulyatsiya prinsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) hosil qilish orqali ximoya qilinadi. To'gʻri aniqlangan sinf ob'ektini butun dasturiy modul sifatida ishlatish mumkin. xaqiqiy sinfning barcha ichki ishlari yashirin bo'lishi lozim. To'gʻri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar yetarlidir.


C++ tili ob'ektga mo'ljallangan dasturlash printsiplarini qo'llab quvvatlaydi. Bu printsiplar quyidagilardir: inkapsulyatsiya, merosxo'rlik, polimorfizm
Inkapsulyatsiya. Agarda muhandis ishlab chiqarish jarayonida rezistorni qo'llasa, u buni yangidan ixtiro qilmaydi, omborga (magazinga) borib mos parametrlarga muvofiq kerakli detalni tanlaydi. Bu qoʻlda muhandis joriy rezistor qanday tuzilganligiga e'tiborini qaratmaydi, rezistor faqatgina zavod xarakteristikalariga muvofiq ishlasa yetarlidir. Aynan shu tashqi konstruktsiyada qo'llaniladigan yashirinlik yoki ob'ektni yashirinligi yoki avtonomligi xossasi inkapsulyatsiya deyiladi.


1. C++ dasturlash tilida Sinf funksiyalarini qayta yuklash, yaratish. Qayta yuklash mexanizimidan unumli foydalanish

Sinf sifatida ma'lumotlar to'plami va ularga bogʻlangan funktsiyalarni qarash mumkin. Sinflar C++ tili ichki imkoniyatlarini kengaytirib dasturchi oldida amaliyotning murakkab masalalarini yechishda ancha qulaylik yaratadi.


C++ tilida inkapsulyatsiya prinsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) hosil qilish orqali ximoya qilinadi. To'gʻri aniqlangan sinf ob'ektini butun dasturiy modul sifatida ishlatish mumkin. xaqiqiy sinfning barcha ichki ishlari yashirin bo'lishi lozim. To'gʻri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar yetarlidir.
C++ tili ob'ektga mo'ljallangan dasturlash printsiplarini qo'llab quvvatlaydi. Bu printsiplar quyidagilardir: inkapsulyatsiya, merosxo'rlik, polimorfizm
Inkapsulyatsiya. Agarda muhandis ishlab chiqarish jarayonida rezistorni qo'llasa, u buni yangidan ixtiro qilmaydi, omborga (magazinga) borib mos parametrlarga muvofiq kerakli detalni tanlaydi. Bu qoʻlda muhandis joriy rezistor qanday tuzilganligiga e'tiborini qaratmaydi, rezistor faqatgina zavod xarakteristikalariga muvofiq ishlasa yetarlidir. Aynan shu tashqi konstruktsiyada qo'llaniladigan yashirinlik yoki ob'ektni yashirinligi yoki avtonomligi xossasi inkapsulyatsiya deyiladi.
Inkapsulyatsiya yordamida berilganlarni yashirish ta'minlanadi. Bu juda yaxshi xarakteristika bo'lib foydalanuvchi o'zi ishlatayotgan ob'ektning ichki ishlari xaqida umuman o'ylamaydi. Xaqiqattan ham, xolodilnikni ishlatishda refrijektorni ishlash printsipini bilish shart emas. Yaxshi ishlab chiqilgan dastur ob'ektini qo'llashda uning ichki o'zgaruvchilarining o'zaro munosabati haqida qaygʻurish zarur emas.
Yana bir marta takrorlash joizki, rezistorni samarali qo'llash uchun uning ishlash printsipi va ichki qurilmalari haqidagi ma'lumotlarni bilish umuman shart emas. Rezistorning barcha xususiyatlari inkapsulatsiya qilingan, ya'ni yashirilgan. Rezistor faqatgina o'z funktsiyasini bajarishi yetarlidir.
C++ tilida inkapsulyatsiya printsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) qosil qilish orqali qimoya qilinadi.
Sinflar qanday tuzilishga ega ekanligi bilan keyinroq tanishib chiqamiz.
To'qri aniqlangan sinf ob'ektini butun dasturiy modul sifatida ishlatish mumkin. haqiqiy sinfning barcha ichki ishlari yashirin bo'lishi lozim. To'gʻri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar yetarlidir.
Merosxo'rlik. Acme Motors kompaniyasi injenerlari yangi avtomobil konstruktsiyasini yaratishga ahd qilishsa, ular ikkita variantdan birini tanlashlari lozim. Birinchisi, avtomobilning konstruktsiyasini boshidan boshlab yangidan ixtiro qilish, ikkinchisi esa mavjud Star modelini o'zgartirishdir. Star modeli qariyb ideal, faqatgina unga turbokompressor va olti tezlanishli uzatma qo'shish lozim. Bosh muhandis ikkinchi variantni tanladi. Ya'ni noldan boshlab qurishni emas, balki Star avtomobiliga ozgina o'zgartirish qilish orqali yaratishni tanladi. Uni yangi imkoniyatlar bilan rivojlantirmoqchi bo'ldi. Shuning uchun, yangi modelni Quasar deb nomlashni taklif qildi. Quasar-Star modeliga yangi detallarni qo'shish orqali yaratilgan.
C++ tili ham shunday merosxo'rlikni himoya qiladi. Bu yangi berilganlar tipi (sinf), oldindan mavjud bo'lgan sinfni kengaytirishdan qosil bo'ladi. Bunda yangi sinf oldingi sinfning merosxo'ri deb ataladi.
Polimorfizm. Akselatorni bosilishida Star modeliga nisbatan yangi yaratilgan Quasar modelida boshqacharoq amallar bajarilishi mumkin. Quasar modelida dvigatelga yoqilgʻini sepuvchi injektor sistemasi va Star modelidagi korbyurator o'rniga turbokompressor o'rnatilgan bo'lishi mumkin. Lekin foydalanuvchi bu farqlarni bilishi shart emas. U rulga o'tirgach oddiygina akselatorni bosadi va avtomobilning mos reaktsiyasini kutadi.

#include
using namespace std;


class Odam{
public:
string name;
string surname ;
int year ;
string moon ;
int day ;
void kiritish(){
cout<<"Ismini kiriting: ";
cin>>name;
cout<<"Familyasini kiriting: ";
cin>>surname;
cout<<"Yilini kiriting: ";
cin>>year;
cout<<"Oyini kiriting: ";
cin>>moon;
cout<<"kunini kiriting : ";
cin>>day;
}
void chiqarish(){
cout<<"Ismi: "<cout<<"Familyasi: "<cout<<"Yili: "<cout<<"Oyi: "<cout<<"Kuni: "<}
};
int main(){
int n, yil;
cout<<"Odamlar soni : ";
cin>>n;
Odam a[n];
for(int i=0;i
cout<a[i].kiritish();
}
cout<<"Qaysi yilda tug'ilgan odamlar kerak? ";
cin>>yil;
cout<for(int i=0;i
if(a[i].year==yil){
a[i].chiqarish();
}
}
}
#include
#include


using namespace std;
int main(){
float a,b,c,w;
cout<<" mavzu yuzasidan \n a=-2 b=1.14 c=2.5 \n qiymatlarni kiriting"<
cout<<" a= "; cin>>a;
cout<<" b= "; cin>>b;
cout<<" c= "; cin>>c;
w=pow(tan(1+2*a*b+4*a*a*b*b*b),3)+pow(cos(1+2*b*c+4*b*b*c*c*c),9)-log(1+2*a*c+4*a*a*c*c*c);

cout<<" Natija: "<


}



Yüklə 155,87 Kb.

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




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

    Ana səhifə