osnovi ob'ektno-orientirovannogo programmirovaniya

PPTX 46 sahifa 276,9 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 46
starshiy prepodavatel kafedri “osnovi informatiki” lektor: sattarov akbar baxtiyarovich starshiy prepodavatel kafedri “osnovi informatiki” lektor: sattarov akbar baxtiyarovich lektsiya №8. osnovi ob'ektno-orientirovannogo programmirovaniya tashkentskiy universitet informatsionnix texnologiy imeni muxammada al-xorazmiy ob'ektno-orientirovannoe programmirovanie (oop) (oop) – eto noviy podxod k programmirovaniyu. razvitie vichislitelnoy texniki i uslojnenie reshaemix zadach est prichina poyavleniya razlichnix modeley (paradigmi) programmirovaniya. v pervix kompilyatorax (naprimer, yazik fortran) podderjivalas model protseduri osnovannuyu na ispolzovanie funktsiy v programmirovanii. s pomoshyu etoy modeli programmist mog napisat programmu sostoyashaya iz neskolkix strok. na sleduyushim etape razvitiya programm poyavilos ix strukturnaya model i proyavlyayutsya na kompilyatorax yazika algol, pascal i s. osobennost strukturnogo programmirovaniya – eto protseduri (bloki) svyazannie mejdu soboy v programme i kompleks znakov ix obrabotki. sozdannaya programma legko proxodit pererabotku i kontrol chem protsedurnaya model. 2 klass klass, opredelyaet stroguyu svyaz mejdu ob'ektom togo je tipa s vneshnim mirom. elementu zakritogo urovnya dostupa mojno obrashatsya tolko vnutri klassa. s …
2 / 46
avlyat. nesmotrya na ne obxodimost chasti , no dlya neobxodimosti pust oni budut. potomu chto yavlyaetsya novoe nazvanie zadannogo tipa, pri pomoshi nego opredelyayutsya ob'ekti etogo klassa. funktsii i peremennie ob'yavlennie vnutri klassa yavlyayutsya elementami etogo klassa. peremennie ob'yavlennie vnutri klassa nazivayutsya zadannie-elementi, a funktsii elementami–funktsii. primer ob'yavleniya klassa class klass_1 { // zakritiy element klassa int a; public: int get_a(); void set_a(int _num); }; parametri klassa nesmotrya na ob'yavlenie funktsiy int get_a() i void set_a(int_num) vnutri klassa klass_1, oni eshe ne opredeleni. opredelenie funktsii osushestvlyaetsya po nazvaniyu klassa i znak «::». zdes «::» – nazivaetsya zadachey rasshireniya oblasti videniya. opredeleniya elementa-funktsii viglyadit sleduyushim obrazom: :: ( ) { // telo funktsii } primer int klass_1 :: get_a() { return a; } void klass_1:: set_a(int num) {a=num;} ob'yavlenie klassa klass_1 ne sozdaet ob'ekti klassa togo je tipa. dlya sozdaniya ob'ektov klassa neobxodimoispolzovat nazvanie klassa kak spetsifikator zadannogo tipa. naprimer, sinf_1 …
3 / 46
asledovanie ) base class (osnovnim klassom). klass naslednikom nazivaetsya (to est noviy klass sozdanniy na osnove nasledovaniya) derived class (klass naslednik). klass naslednik mojet bit osnovnim klassom dlya drugogo klassa. znachit takim obrazom, poyavlyaetsya mnogo stepennoe nasledovanie (multiple inheritance). ispolzovanie nasledovaniya posle nasledovaniya kakogo to klassa, elementi osnovnogo klassa yavlyayutsya i elementami naslednika. na yazike programmirovaniya c++ obshaya forma nasledovaniya sleduyushaya: class nazvaniya-klassa-naslednika : access nazvanie-osnovnogo-klassa { // telo klassa naslednik }; public protected private primer. primer na obichnoe nasledovanie. programma vozvrashaemaya znacheniya otpravlennogo pri pomoshi ob'ekta class base { int i, j; public: void set(int a, int b) { i=a; j=b; } void show() { cout using namespace std; class base1 { protected: int x; public: void showx() { cout vfunc(); // virtualnaya funktsiya vfunc() klassa base // ukazatel na klass derived1 p = &d1; p->vfunc(); // virtualnaya funktsiya vfunc() klassa derived1 // ukazatel na klassa derived2 p = …
4 / 46
to est eta funktsiya budet override dlya vtorogo klassa naslednika. eto svoystvo soxranyaetsya i pri neskolkix nasledovaniy. rassmotrim sleduyushiy primer: primer class base { public: virtual void vfunc() { cout vfunc(); // virtualnaya funktsiya vfunc() klassa base // ukazatel na klass derived1 p = &d1; p->vfunc(); // virtualnaya funktsiya vfunc() klassa derived1 // ukazatel na klass derived2 p = &d2; p->vfunc(); // virtualnaya funktsiya vfunc() klassa derived2 return 0;} ierarxicheskie svoystva virtualnix funktsiy v osnovnom klasse sozdana virtualnaya funktsiya i ego mojno pere ob'yavit (override) dlya klassa naslednika. esli v klasse naslednika dannaya virtualnaya funktsiya ne budet override? zdes ob'ekt klassa naslednika budet obrashatsya k virtualnoy funktsii, to est k virtualnoy funktsii osnovnogo klassa. rassmotrim sleduyushiy primer: primer class base { public: virtual void vfunc() { cout vfunc(); // virtualnaya funktsiya vfunc() klassa base // ukazatel na klass derived1 p = &d1; p->vfunc();// vir. funktsiya vfunc() klassa derived1 // ukazatel …
5 / 46
2 : public base { public: int k; }; class derived3 : public derived1, public derived2 { public: int sum; }; int main(){ derived3 ob; ob.i = 10; ob.j = 20; ob.k = 30; ob.sum = ob.i + ob.j + ob.k; } naydite oshibku i kakaya ona??? ispravlenie oshibki predidushego primera v etoy programme est oshibka: class base { public: int i; }; class derived1 : public base { public: int j; }; class derived2 : public base { public: int k; }; class derived3 : public derived1, public derived2 { public: int sum; }; derived3 ob; ob.derived1::i = 10; ob.j = 20; ob.k = 30; ob.sum = ob.derived2::i + ob.j + ob.k; pri pomoshi znaka :: kakoy klass nado bilo ispolzovat? ispolzovanie virtual base klassov class base { public: int i; }; class derived1 : virtual public base { public: int j; }; class derived2 : virtual public base …

Ko'proq o'qimoqchimisiz?

Barcha 46 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"osnovi ob'ektno-orientirovannogo programmirovaniya" haqida

starshiy prepodavatel kafedri “osnovi informatiki” lektor: sattarov akbar baxtiyarovich starshiy prepodavatel kafedri “osnovi informatiki” lektor: sattarov akbar baxtiyarovich lektsiya №8. osnovi ob'ektno-orientirovannogo programmirovaniya tashkentskiy universitet informatsionnix texnologiy imeni muxammada al-xorazmiy ob'ektno-orientirovannoe programmirovanie (oop) (oop) – eto noviy podxod k programmirovaniyu. razvitie vichislitelnoy texniki i uslojnenie reshaemix zadach est prichina poyavleniya razlichnix modeley (paradigmi) programmirovaniya. v pervix kompilyatorax (naprimer, yazik fortran) podderjivalas model protseduri osnovannuyu na ispolzovanie funktsiy v programmirovanii. s pomoshyu etoy modeli programmist mog napisat programmu sostoyashaya iz neskolkix strok. na sleduyushim etape r...

Bu fayl PPTX formatida 46 sahifadan iborat (276,9 KB). "osnovi ob'ektno-orientirovannogo programmirovaniya"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: osnovi ob'ektno-orientirovannog… PPTX 46 sahifa Bepul yuklash Telegram