logo

C++ OOP jēdzieni

C++ programmēšanas galvenais mērķis ir C programmēšanas valodā ieviest objektu orientācijas jēdzienu.

Objektorientētā programmēšana ir paradigma, kas nodrošina daudzus jēdzienus, piemēram iedzimtība, datu saistīšana, polimorfisms utt.

Programmēšanas paradigma, kurā viss tiek attēlots kā objekts, ir pazīstama kā patiesi objektorientēta programmēšanas valoda. Smalltalk tiek uzskatīta par pirmo patiesi objektorientēto programmēšanas valodu.


OOP (objektorientētā programmēšanas sistēma)

Objekts nozīmē reālu vārda vienību, piemēram, pildspalvu, krēslu, galdu utt. Objektorientētā programmēšana ir metodika vai paradigma, lai izstrādātu programmu, izmantojot klases un objektus. Tas vienkāršo programmatūras izstrādi un uzturēšanu, sniedzot dažus jēdzienus:

instantiēta java
Cpp Oops, 1. koncepcija
  • Objekts
  • Klase
  • Mantojums
  • Polimorfisms
  • Abstrakcija
  • Iekapsulēšana

Objekts

Jebkuru entītiju, kurai ir stāvoklis un uzvedība, sauc par objektu. Piemēram: krēsls, pildspalva, galds, tastatūra, velosipēds utt. Tas var būt fizisks un loģisks.

Klase

Objektu kolekcija sauc par klasi. Tā ir loģiska vienība.

C++ klase ir pamatelements, kas ved uz objektorientētu programmēšanu. Ir jāizveido klases instance, lai piekļūtu un izmantotu lietotāja definētā datu tipa datu dalībniekus un dalībnieku funkcijas. Objekta klase darbojas kā tā projekts. Kā piemēru ņemiet automašīnu klasi. Pat ja dažādām automašīnām var tikt izmantoti dažādi nosaukumi un zīmoli, tiem visiem būs dažas kopīgas īpašības, piemēram, četri riteņi, ātruma ierobežojums, jūdžu diapazons utt. Šajā gadījumā automašīnas klasi attēlo riteņi, ātruma ierobežojumi un nobraukums.

Mantojums

Kad viens objekts iegūst visas galvenā objekta īpašības un darbības i., pazīstams kā mantojums. Tas nodrošina koda atkārtotu izmantošanu. To izmanto, lai sasniegtu izpildlaika polimorfismu.

  1. Apakšklase — apakšklase vai atvasinātā klase attiecas uz klasi, kas saņem rekvizītus no citas klases.
  2. Superklase — termins 'bāzes klase' vai 'superklase' attiecas uz klasi, no kuras apakšklase manto savas īpašības.
  3. Atkārtoti lietojamība - Rezultātā, ja mēs vēlamies izveidot jaunu klasi, bet esošajā klasē jau ir daļa no mums nepieciešamā koda, mēs varam ģenerēt savu jauno klasi no vecās klases, pateicoties mantojumam. Tas ļauj mums izmantot jau esošās klases laukus un metodes.

Polimorfisms

Kad viens uzdevums tiek veikts dažādos veidos i., pazīstams kā polimorfisms. Piemēram: pārliecināt klientu savādāk, uzzīmēt kaut ko piem. forma vai taisnstūris utt.

Dažādas situācijas var izraisīt atšķirīgu darbību. Darbībā izmantoto datu veids nosaka uzvedību.

Abstrakcija

Iekšējo detaļu slēpšana un funkcionalitātes parādīšana ir pazīstama kā abstrakcija. Datu abstrakcija ir process, kurā ārpasaulei tiek atklāta tikai tā informācija, kas ir absolūti nepieciešama, slēpjot ieviešanu vai fona informāciju. Piemēram, tālruņa zvans, mēs nezinām iekšējo apstrādi.

Programmā C++ mēs izmantojam abstraktu klasi un interfeisu, lai panāktu abstrakciju.

Iekapsulēšana

Koda un datu sasaistīšana (vai iesaiņošana) vienā vienībā ir pazīstama kā iekapsulēšana. Piemēram: kapsula, tā ir iesaiņota ar dažādām zālēm.

Iekapsulēšana parasti tiek saprasta kā saistītu informācijas un datu grupēšana vienā entītijā. Iekapsulēšana ir datu un funkciju, kas ar tiem darbojas, sasaistīšanas process objektorientētā programmēšanā. Apskatiet praktisku iekapsulēšanas ilustrāciju: uzņēmumā ir dažādas nodaļas, tostarp pārdošanas nodaļa, finanšu nodaļa un grāmatvedības nodaļa. Visus finanšu darījumus apstrādā finanšu sektors, kas arī veic visu finanšu datu uzskaiti. Līdzīgā veidā pārdošanas nodaļa ir atbildīga par visiem ar pārdošanu saistītiem uzdevumiem un veic katras pārdošanas uzskaiti. Tagad var rasties scenārijs, kad kāda iemesla dēļ finanšu amatpersona pieprasa visu informāciju par konkrētā mēneša pārdošanu. Saskaņā ar jumta terminu “pārdošanas sadaļa” visi darbinieki, kuri var ietekmēt pārdošanas sadaļas datus, tiek grupēti kopā. Datu abstrakcija vai slēpšana ir vēl viena iekapsulēšanas blakusparādība. Tādā pašā veidā, kā iekapsulēšana slēpj datus. Iepriekš minētajā piemērā neviena cita apgabala nevar piekļūt nevienam no sadaļas datiem, piemēram, pārdošana, finanses vai konti.

Dinamiskā saistīšana — Dinamiskajā saistīšanā izpildlaikā tiek pieņemts lēmums par kodu, kas tiks palaists, reaģējot uz funkcijas izsaukumu. Šim nolūkam C++ atbalsta virtuālās funkcijas.

vesels skaitlis līdz virknei Java

OOP priekšrocības salīdzinājumā ar uz procedūrām orientētu programmēšanas valodu

  1. OOPs atvieglo izstrādi un uzturēšanu, jo, tāpat kā uz procedūrām orientētā programmēšanas valodā, to nav viegli pārvaldīt, ja kods aug, pieaugot projekta lielumam.
  2. OOP nodrošina datu slēpšanu, savukārt uz procedūrām orientētā programmēšanas valodā globālajiem datiem var piekļūt no jebkuras vietas.
  3. OOP nodrošina iespēju daudz efektīvāk simulēt reālās pasaules notikumus. Mēs varam nodrošināt reālas teksta problēmas risinājumu, ja mēs izmantojam objektorientētās programmēšanas valodu.

Kāpēc mums ir vajadzīgs ops C++?

Agrīnām programmēšanas metodēm bija dažādi trūkumi, kā arī slikta veiktspēja. Šī pieeja nevarēja efektīvi risināt reālās pasaules problēmas, jo, līdzīgi kā uz procesuāli orientēta programmēšana, jūs nevarēja atkārtoti izmantot kodu programmā, radās grūtības ar globālo datu piekļuvi un tā tālāk.

Izmantojot klases un objektus, uz objektu orientētā programmēšana atvieglo koda apkopi. Tā kā mantošana ļauj atkārtoti izmantot kodu, programma ir vienkāršāka, jo nav atkārtoti jāraksta viens un tas pats kods. Datu slēpšanu nodrošina arī tādas idejas kā iekapsulēšana un abstrakcija.

Kāpēc C++ ir daļēja oop?

C valodas objektorientētās iezīmes bija galvenā C++ valodas konstruēšanas motivācija.

C++ programmēšanas valoda tiek klasificēta kā daļēja objektorientēta programmēšanas valoda, neskatoties uz to, ka tā atbalsta OOP koncepcijas, tostarp klases, objektus, mantojumu, iekapsulēšanu, abstrakciju un polimorfismu.

1) Galvenajai funkcijai vienmēr jābūt ārpus C++ klases, un tā ir obligāta. Tas nozīmē, ka mēs varam iztikt bez klasēm un objektiem, un lietojumprogrammā ir viena galvenā funkcija.

java pārvērst virkni par int

Tas ir izteikts kā objekts šajā gadījumā, kas ir pirmā reize, kad tiek pārkāpts Pure OOP.

2) Globālie mainīgie ir C++ programmēšanas valodas iezīme, kurai var piekļūt jebkurš cits programmas objekts un kas ir definēti ārpus tās. Šeit ir bojāta iekapsulēšana. Lai gan C++ veicina iekapsulēšanu klasēm un objektiem, globālajiem mainīgajiem tas to ignorē.

Pārslodze

Polimorfismam ir arī apakškopa, kas pazīstama kā pārslodze. Tiek uzskatīts, ka esošais operators vai funkcija ir pārslogota, ja tā ir spiesta darboties ar jaunu datu tipu.

Secinājums

Izlasot šo kursu par OOPS jēdzieniem C++ valodā, jūs būsiet guvis izpratni par objektorientētas programmēšanas nepieciešamību, kas ir C++ OOP un OOP pamatus, piemēram, polimorfismu, pārmantošanu, iekapsulēšanu utt. Papildus polimorfisma un mantojuma gadījumiem jūs uzzinājāt arī par C++ OOP priekšrocībām.