Pagrindinis C++ programavimo tikslas yra supažindinti su C programavimo kalba objektinės orientacijos sąvoka.
Objektinis programavimas yra paradigma, kurioje pateikiama daug sąvokų, tokių kaip paveldimumas, duomenų surišimas, polimorfizmas ir kt.
Programavimo paradigma, kai viskas vaizduojama kaip objektas, žinoma kaip tikrai į objektą orientuota programavimo kalba. Smalltalk yra laikoma pirmąja tikrai į objektą orientuota programavimo kalba.
OOP (objektinė programavimo sistema)
Objektas reiškia tikrą žodžio esybę, pvz., rašiklį, kėdę, stalą ir kt. Objektinis programavimas yra metodika arba paradigma kurti programą naudojant klases ir objektus. Tai supaprastina programinės įrangos kūrimą ir priežiūrą, pateikdama keletą sąvokų:
r c kalba
- Objektas
- Klasė
- Paveldėjimas
- Polimorfizmas
- Abstrakcija
- Inkapsuliavimas
Objektas
Bet koks subjektas, turintis būseną ir elgesį, yra žinomas kaip objektas. Pavyzdžiui: kėdė, rašiklis, stalas, klaviatūra, dviratis ir tt Tai gali būti fizinė ir logiška.
Klasė
Daiktų kolekcija vadinama klase. Tai loginis darinys.
C++ klasė yra pagrindinis elementas, vedantis į objektinį programavimą. Turi būti sukurtas klasės egzempliorius, kad būtų galima pasiekti ir naudoti vartotojo apibrėžto duomenų tipo duomenų narius ir narių funkcijas. Objekto klasė veikia kaip jo planas. Kaip pavyzdį paimkite automobilių klasę. Net jei skirtingiems automobiliams gali būti naudojami skirtingi pavadinimai ir prekės ženklai, visi jie turės kai kurias bendras charakteristikas, tokias kaip keturi ratai, greičio apribojimas, mylių atstumas ir pan. Šiuo atveju automobilio klasę reiškia ratai, greičio apribojimai ir rida.
Paveldėjimas
Kai vienas objektas įgyja visas pirminio objekto savybes ir elgesį y., žinomas kaip paveldėjimas. Tai suteikia kodo pakartotinį naudojimą. Jis naudojamas vykdymo laiko polimorfizmui pasiekti.
- Poklasis – poklasis arba išvestinė klasė reiškia klasę, kuri gauna ypatybes iš kitos klasės.
- Superklasė – terminas „Base Class“ arba „Super Class“ reiškia klasę, iš kurios poklasis paveldi savo savybes.
- Pakartotinis naudojimas – dėl to, kai norime sukurti naują klasę, bet esamoje klasėje jau yra dalis mums reikalingo kodo, paveldėjimo dėka galime sugeneruoti naują klasę iš senosios klasės. Tai leidžia mums panaudoti jau egzistuojančios klasės laukus ir metodus.
Polimorfizmas
Kada viena užduotis atliekama skirtingais būdais y., žinomas kaip polimorfizmas. Pvz.: įtikinti užsakovą kitaip, nupiešti ką nors pvz. forma ar stačiakampis ir pan.
Python programos pavyzdžiai
Dėl skirtingų situacijų operacija gali skirtis. Operacijai naudojamų duomenų tipas lemia elgesį.
Abstrakcija
Vidinių detalių slėpimas ir funkcionalumo rodymas yra žinomas kaip abstrakcija. Duomenų abstrakcija – tai procesas, kai išoriniam pasauliui atskleidžiama tik tokia informacija, kuri būtina, slepiant diegimą arba pagrindinę informaciją. Pavyzdžiui: telefono skambutis, mes nežinome, kaip vyksta vidinis apdorojimas.
C++ abstrakcijai pasiekti naudojame abstrakčią klasę ir sąsają.
Inkapsuliavimas
Kodo ir duomenų surišimas (arba apvyniojimas) į vieną vienetą vadinamas inkapsuliavimu. Pvz.: kapsulė, ji apvyniota įvairiais vaistais.
Inkapsuliavimas paprastai suprantamas kaip susijusios informacijos ir duomenų grupavimas į vieną objektą. Inkapsuliavimas yra duomenų ir su jais veikiančių funkcijų susiejimo procesas objektinio programavimo metu. Pažvelkite į praktinę inkapsuliavimo iliustraciją: įmonėje yra įvairių padalinių, įskaitant pardavimo skyrių, finansų skyrių ir sąskaitų skyrių. Visas finansines operacijas tvarko finansų sektorius, kuris taip pat tvarko visų finansinių duomenų įrašus. Panašiai pardavimo skyrius yra atsakingas už visas su pardavimu susijusias užduotis ir tvarko kiekvieno pardavimo įrašą. Dabar gali įvykti scenarijus, kai finansų pareigūnas dėl kokių nors priežasčių reikalauja visos informacijos apie konkretaus mėnesio pardavimus. Pagal bendrą terminą „pardavimo skyrius“ visi darbuotojai, galintys turėti įtakos pardavimo skyriaus duomenims, yra sugrupuoti. Duomenų abstrakcija arba slėpimas yra dar vienas šalutinis inkapsuliavimo poveikis. Taip pat, kaip inkapsuliavimas paslepia duomenis. Anksčiau minėtame pavyzdyje jokia kita sritis negali pasiekti jokių duomenų iš bet kurios skilties, pvz., pardavimo, finansų ar sąskaitų.
Dinaminis įrišimas – Dinaminio susiejimo metu sprendimas priimamas vykdymo metu dėl kodo, kuris bus paleistas reaguojant į funkcijos iškvietimą. Tam C++ palaiko virtualias funkcijas.
OOP pranašumas prieš į procedūras orientuotą programavimo kalbą
- OOP palengvina kūrimą ir priežiūrą, kai, kaip ir į procedūras orientuotoje programavimo kalboje, nėra lengva valdyti, jei kodas auga didėjant projekto dydžiui.
- OOP užtikrina duomenų slėpimą, o į procedūras orientuota programavimo kalba visuotinius duomenis galima pasiekti iš bet kurios vietos.
- OOP suteikia galimybę daug efektyviau imituoti realaus pasaulio įvykius. Mes galime pasiūlyti tikrosios tekstinės problemos sprendimą, jei naudojame objektinio programavimo kalbą.
Kodėl mums reikia opų C++?
Ankstyvieji programavimo metodai turėjo įvairių trūkumų, taip pat prastas našumas. Taikant šį metodą nepavyko veiksmingai išspręsti realaus pasaulio problemų, nes, panašiai kaip į procedūrinį programavimą, negalėjote pakartotinai naudoti kodo programoje, kilo sunkumų dėl visuotinės duomenų prieigos ir pan.
Naudojant klases ir objektus, į objektą orientuotas programavimas palengvina kodo priežiūrą. Kadangi paveldėjimas leidžia pakartotinai naudoti kodą, programa yra paprastesnė, nes nereikia pakartotinai rašyti to paties kodo. Duomenų slėpimą taip pat užtikrina tokios idėjos kaip inkapsuliavimas ir abstrakcija.
Kodėl C++ yra dalinis oop?
Objektinės C kalbos savybės buvo pagrindinė C++ kalbos kūrimo motyvacija.
C++ programavimo kalba priskiriama dalinei į objektą orientuotai programavimo kalbai, nepaisant to, kad ji palaiko OOP sąvokas, įskaitant klases, objektus, paveldėjimą, inkapsuliavimą, abstrakciją ir polimorfizmą.
kiek savaičių yra per mėnesį
1) Pagrindinė funkcija visada turi būti už C++ klasės ribų ir yra būtina. Tai reiškia, kad galime apsieiti be klasių ir objektų ir programoje turėti vieną pagrindinę funkciją.
Šiuo atveju jis išreiškiamas kaip objektas, o tai yra pirmas kartas, kai pažeidžiamas Pure OOP.
2) Globalūs kintamieji yra C++ programavimo kalbos ypatybė, kurią gali pasiekti bet kuris kitas programos objektas ir kurie yra apibrėžti už jos ribų. Čia inkapsuliacija sulaužyta. Nors C++ skatina klasių ir objektų inkapsuliavimą, jis to nepaiso visuotiniams kintamiesiems.
Perkrovimas
Polimorfizmas taip pat turi pogrupį, žinomą kaip perkrova. Sakoma, kad esamas operatorius arba funkcija yra perkrauta, kai ji yra priversta veikti naudojant naują duomenų tipą.
Išvada
Perskaitę šį kursą apie OOPS sąvokas C++, suprasite apie objektinio programavimo poreikį, kas yra C++ OOP ir suprasite OOP pagrindus, tokius kaip polimorfizmas, paveldėjimas, inkapsuliavimas ir kt. Kartu su polimorfizmo ir paveldėjimo atvejais taip pat sužinojote apie C++ OOP naudą.