ATVĒRT



OOP vai objektorientēta programmēšana

Izdomājis Alans Kejs, objektorientēta programmēšana , zināms arī kā ATVĒRT vai OO programmēšana , ir programmēšanas valodas paradigma. Objektorientētā programmā kods var strukturēt kā atkārtoti izmantojamas sastāvdaļas, no kurām dažām var būt kopīgas īpašības vai uzvedība.



Objektorientētā programmēšana var uzlabot izstrādātāja spēju ātri prototipēt programmatūru, paplašināt esošo funkcionalitāti, pārveidot kodu un uzturēt to, kā tas ir izstrādāts.

Objektorientētas programmēšanas koncepcijas

Programmējot objektorientētā programmēšanas valodā, ņemiet vērā šādus četrus galvenos jēdzienus.



  • Iekapsulēšana - saistīto funkciju un datu grupēšana ( mainīgie ) kopā par objekts lai palīdzētu samazināt sarežģītību un ļautu atkārtoti izmantot koda daļas.
  • Abstrakcija - Parādiet tikai būtiskāko, lai mazinātu pārmaiņu abstrakciju.
  • Mantojums - Novērst lieko kodu, mantojot funkcijas un datus no citām klasēm.
  • Polimorfisms - Mainiet objekta darbību atkarībā no datiem vai klases.

Kas ir OOPL?

An OOPL ( objektorientēta programmēšanas valoda ) ir programmēšanas valoda kas balstās uz iepriekš izskaidroto objektorientētās programmēšanas modeli. Objektorientēto programmēšanas valodu piemēri ir C ++ , C #, Java , Python, Simula un Smalltalk.

Vispārējs OOP piemērs

Pieņemsim, ka jūs rakstāt video spēli, kurā spēlētāji kontrolē un sacenšas transportlīdzekļus. Ja izmantojat objektorientētu programmēšanas valodu, varat definēt a klasē objektu ar nosaukumu “transportlīdzeklis”. Šajā klasē var būt visu transportlīdzekļu īpašību un uzvedības definīcijas. Piemēram, visi transportlīdzekļi paātrina un samazina ātrumu, kā arī patērē degvielu. Šīs klases definīcijas ietvaros jūs varat definēt metodes (līdzīgs funkcijas ), ko sauc par “paātrināt” un “palēnināt”, un a īpašums (mainīgā tips), ko sauc par “degvielu”, kura vērtība jūs varat gūt vai komplekts .



Tad jūs varētu definēt apakšklases , ko sauc arī par atvasinātas klases vai bērnu klases , tas mantot metodes un īpašības no “transportlīdzekļu” klases. Piemēram, jūs varētu definēt apakšklasi ar nosaukumu “motocikls” ar diviem riteņiem un apakšklasi ar nosaukumu “automašīna” ar četriem riteņiem. Viņu kopīgās īpašības (paātrinājums, palēninājums un degvielas patēriņš) jau ir definētas “transportlīdzeklī”, tāpēc jums tās vairs nav jāraksta.

Tad jūs varētu momentāni šīs apakšklases, lai noteiktu atsevišķus spēlējamus transportlīdzekļus. Katrs apakšklases gadījums mantos metodes un īpašības no visām tās kategorijām vecāku klases , un tām ir savas īpašības un metodes. Piemēram, tās unikālās īpašības var būt krāsas krāsa (“sarkana”, “zila” utt.) Un cena (ja spēlētājs vēlas to iegādāties ar spēles valūtu).

Vēlāk, kad vēlaties mainīt motociklam raksturīgo kodu, jums nav jāmaina vecāku “transportlīdzekļa” klase. “Transportlīdzekļa” kods jau ir pārbaudīts, un tas darbojas lieliski, tāpēc, lai modificētu programmu, nepieciešams mazāk darba. Turklāt, tā kā tiek modificēts mazāk koda rindiņu, ir mazāka iespēja, ka a kļūda tiks ieviests kaut kur jaunajā kodā. Ja tomēr parādās kļūda, jums nav jābrīnās, vai tā ir “transportlīdzekļa” klases kodā, jo šī klase netika modificēta. Tāpēc programmatūras izstrāde un uzturēšana var būt efektīvāka, ietaupot laiku un pūles.