Datori, Programmēšana
PLO - kas tas ir? Pamatprincipi objektorientētā programmēšana
Kāpēc objektorientētā programmēšana tiek dota lielākajā daļā projektu? PLO piedāvā efektīvu veidu, kā tikt galā ar to sarežģītību. Tā vietā, lai, ņemot vērā programmu kā secību izpildāmo instrukciju, tas atspoguļo to kā objektu grupas ar noteiktām īpašībām un uzrādīt tos ar noteiktām darbībām. Tas rada skaidrāku, ticamākas un legkosoprovozhdaemyh lietojumprogrammas.
Pamatprincipi objektorientētā programmēšana (OOP) veidojas tāpēc, ka ierobežojumi ir konstatēts iepriekš esošajām pieejām. Starp tiem - neierobežota piekļuve datiem un lielu skaitu saites, kas uzliek ierobežojumus maiņu. Viņu izpratne un cēloņi svarīgi saprast, kādi OOP programmēšanu un kādas ir tās priekšrocības.
procesuālās valodas
C, Pascal, FORTRAN, un līdzīgas valodas procesuāli. Tas nozīmē, ka katra operatora stāsta dators kaut ko darīt: lai iegūtu datus, saskaitīt, sadalīta sešās, rezultāts parādīts. Pielikums procesuālo valoda ir norādījums saraksts. Ja tas ir mazs, nav nepieciešama nekāda cita organizēšana princips (bieži minēta kā paradigma). Programmētājs izveido sarakstu ar norādījumiem, un dators izpilda tos.
Atdalīšana funkciju
Ja pieteikumi kļūst apgrūtinoša saraksts pagriezieniem. Maz var saprast vairāk nekā pāris simtu norādījumiem, līdz tie tiek grupēti. Šī iemesla dēļ, funkcija bija veids, kā padarīt pieteikumu saprotamāku tās radītājiem. Dažās valodās, to pašu koncepciju var saukt subroutines vai procedūrām.
Lietotne ir sadalīta funkcijas, no kurām katrai ir skaidri definēts mērķis un interfeisu.
Ideja dalīšanas procedūru, var tikt paplašināts uz lielāku grupas objekts sauc modulis, bet princips ir analogs: grupēšana sastāvdaļu, kas veic sarakstus dokumentu.
Atdalīšana funkciju un moduļi - viens no stūrakmeņiem strukturētu programmu, kas vairākus gadu desmitus, līdz PAO bija tas rada paradigmu.
strukturētas programmēšanas problēmas
Kā lietojumprogrammas kļūst lielāka, strukturēta programmēšana sāk piedzīvot grūtības. Projekti kļuvusi pārāk sarežģīta. novirzījies grafika. Tas ietver lielu skaitu programmētāji. Sarežģītība ir pieaudzis. Izmaksas šaušana uz augšu, tad grafiks tika pārvietoti tālāk, un tur nāca sabrukums.
Analīze cēloņiem kļūmes atklāja trūkumus procesuālo paradigma. Neatkarīgi no tā, cik labi strukturēts īstenota plānošanas pieeju, lieli lietojumprogrammas kļūst pārāk sarežģīti.
Kādi ir iemesli šīm problēmām, kas saistītas ar procesuālajām valodās? Pirmkārt, funkcijas ir neierobežota piekļuve globālajiem datiem. Otrkārt, nesaistīti procedūras un slikti vērtības simulēt reālo pasauli.
Ja mēs uzskatām šos jautājumus kontekstā inventāra grāmatvedības programmatūru, kas ir viens no svarīgākajiem elementiem globālās datu kopa SKUs. Dažādas funkcijas var atsaukties uz tiem, lai ievadītu jaunu vērtību, tas tiek parādīts, izmaiņas un tā. D.
neierobežota piekļuve
Programmā rakstīts, piemēram, C, pastāv divu veidu datus. Vietējā slēptās funkcijas un netiek izmantotas citas procedūras.
Ja divas vai vairākas funkcijas, ir piekļuve tiem pašiem datiem, tā ir globāla. Šādi, piemēram, tiek ņemti vērā informāciju par tēmām. Globālie dati var būt jebkurš pieejami procedūra.
Ar lielu programmu, ir daudzas funkcijas un daudzas pasaules elementu. No procesuālā paradigmas problēma ir tā, ka tas rada lielāku skaitu potenciālo saikni starp tiem.
Šāds liels pieslēgumu skaits rada vairākas grūtības. Pirmkārt, tas apgrūtina izpratni par programmas struktūru. Otrkārt, ir grūti mainīt. Izmaiņas globālajā datu postenī, var būt jāpielāgo visām funkcijām, kas tai piekļūt.
Piemēram, programma uzskaites kāds nolemj, ka veidoja objekta kodam ir jāsastāv ne 5 cipariem, un no 12. Tas būs nepieciešams veikt izmaiņas datu tipu no īstermiņa uz ilgtermiņa. Tagad, kas saistīti ar funkcijas kods ir modificēts, lai strādātu ar jauno formātu.
Kad elementi ir mainīti lielākā pieteikumā, ir grūti pateikt, kādas procedūras ir piekļuve tām. Bet pat tad, ja šo skaitli, mainot tos var izraisīt nepareiza darbība ar citiem globāliem datiem. Viss ir saistīts ar visu pārējo, tāpēc izmaiņas vienā vietā priekšlaicīga citā.
Modelēšana reālo pasauli
Otrs un svarīgāka problēma procesuālā paradigmas ir tā, ka tās atrašanās vietu dati un funkcijas slikti simulē lietas reālajā pasaulē. Šeit mums ir darīšana ar objektiem, piemēram, cilvēku vai automašīnu. Tie ir, piemēram, nav datu vai funkciju. Sarežģītas reālās pasaules objektiem ir īpašības un uzvedību.
atribūti
Piemēri atribūtiem (dažreiz sauc īpašības), un cilvēkiem ir acu krāsu un nosaukums pastu, par auto - spēks un durvju skaits. Kā izrādījās, tad atribūti reālajā pasaulē ir līdzvērtīgi datiem programmā. Tie ir īpaši vērtības, piemēram, zilā (krāsas acīm) vai četri (Durvju skaits).
uzvedība
Uzvedība - ir tas, ka reālās pasaules objektiem tiek ražoti, atbildot uz sava veida ietekmi. Ja jūs lūgt boss par algu palielinājumu, atbilde ir "jā" vai "nē". Ja jūs nospiežat uz bremzes, auto apstāsies. Un apstāšanās izruna uzvedība ir piemēri. Uzvedība līdzīga procedūra: to sauc par kaut ko darīt, un tas tā. Tādējādi dati un funkcijas, ko paši nav modelis reālās pasaules objektiem efektīvi.
Uzrunājot
Ar OOP objekts tiek attēlots kā datu kopu un funkciju. Tikai procedūras, kas tiek sauktas locekļa funkcijas C ++, ļauj iegūt savu vērtību. Tie ir slēpta un aizsargāta no izmaiņām. Nozīmes un funkcijas ir iekapsulēti vienā. Hermetizāciju un upryatyvanie - pamatjēdzieni aprakstā par objektu orientētas valodās.
Ja Jūs vēlaties mainīt datus, tas zina, ko tieši funkcijas mijiedarbojas ar tām. Neviens cits procedūras nevar tiem piekļūt. Šo vienkāršo rakstīšanu, atkļūdošanu un programmas uzturēšanu.
Pieteikumu parasti sastāv no vairākiem objektiem, kas mijiedarbojas ar otru, izraisot locekļa funkcijas.
Šodien visplašāk lietotā valoda OOP (objektorientētā programmēšana) - C ++ (plus plus). Java trūkst dažas funkcijas, piemēram, norādes, veidnes un vairāku mantojuma, kas padara to mazāk jaudīgs un universāls, nekā C ++. C # vēl nav sasniegusi popularitāti C ++.
Jāatzīmē, ka tā saucamā locekļa funkcijas C ++ sauc metodēm dažās citās objektu orientētas valodās, piemēram, Smalltalk. Datu posteņi ir sauc atribūti. Zvanīšana metodi objekta sūta viņam vēstules.
analoģija
Jūs varat iedomāties objektus uzņēmuma nodaļām. Vairumā organizāciju darbinieki nedarbojas viena diena ar darbiniekiem, šādu pārlādēšana algu, un pēc nedēļas, kas nodarbojas ar mazumtirdzniecību. Katrai nodaļai ir savs personāls, ar skaidri pienākumiem. Ir pašu dati: rādītāji algas, pārdošanas, uzskaites darbinieki uc Cilvēki katedrās strādā ar savu informāciju ... Uzņēmuma sadalīšana, tādēļ, atvieglo kontroli pār savu darbību un uztur datu integritāti. Grāmatvedība ir atbildīgs par algas. Ja jūs vēlaties zināt kopējo summu algas maksā dienvidu filiāli jūlijā, nav nepieciešams ienirt arhīvā. Tas ir pietiekami, lai nosūtītu piezīmi atbildīgajai personai, pagaidiet, kamēr šī persona ir piekļuve datiem, un nosūta atbildi uz pieprasīto informāciju. Tas nodrošina atbilstību noteikumiem un neesamību ārējas iejaukšanās. Tādā pašā veidā, objekts, kas PAO nodrošina organizācijas pieteikumu.
Būtu jāatceras, ka orientācija objektu neattiecas uz informāciju par darba programmu. Lielākā daļa instrukcijas C ++ operatoriem atbilst procedūru valodās, piemēram, C Faktiski biedru funkcijas C ++ ir ļoti līdzīgi funkciju C. Tikai plašākā kontekstā ļaus noteikt, vai norādījums procesuālo vai objektorientēto.
Objekts OOP: definīcija
Apsverot problēmu plānošanas objektorientētā valodā, nevis jautājumiem par to sadalījumam atsevišķās funkcijas ir problēma separācijas iekārtām. OOP domāšana ir daudz vieglāk izstrādāt pieteikumus. Tas ir saistīts ar līdzību programmatūras un reālo objektu.
Kādas lietas ir objekti OOP? Šeit ir dažas tipiskas kategorijas.
Fiziskā objektu OOP - ir:
- transporta plūsmas modeļus;
- elektriskās detaļas, kas ir ķēdes dizaina programmās;
- valsts ekonomika modeli;
- lidmašīnas ar gaisa satiksmes vadības sistēmu.
Elementi vides lietotāja datora:
- izvēlne;
- logi;
- grafika (līnija, taisnstūris, aplis);
- tastatūra, pele, printeris, diskdziņi.
cilvēki:
- darbinieki;
- studentiem;
- klienti;
- pārdevēji.
informācija:
- Grāmatvedības;
- privāta lieta;
- vārdnīca;
- tabula platumi un garumi apmetnes.
Paziņojums par reālās pasaules objektiem un PAO bija rezultāts kombinācija funkcijām un datiem, tie ir revolutionized programmēšanu. Šāda tuva atbilstība procesuālajos valodās tur.
klase
Objekti PLO - klases biedrs. Ko tas nozīmē? Programmēšanas valodas ir iebūvēts datu tipiem. Type int, t. E. veselu skaitli, kurš ir iepriekš noteikts C ++. Jūs varat paziņot jebkādu skaitu Int mainīgajiem.
Līdzīgi, daudzus objektu definēts vienā klasē. Tā nosaka funkcijas un iekļauti tā iekārtām dati, nevis radot viņiem, kā arī int nerada mainīgos.
Klase PLO - aprakstu par vairākiem līdzīgiem objektiem. Prince, Stings un Madonna ir dziedātāji. Nav viena ar šo nosaukumu, bet cilvēki to var saukt tāpēc, ja tās ir atbilstošas īpašības. OOP objekts - tas gadījums.
mantojums
Dzīvē, klases tiek sadalīta apakšklasēs. Piemēram, dzīvnieki ir sadalīti abiniekiem, zīdītājiem, putniem, kukaiņiem un tā tālāk D..
Šī veida dalīšanas princips ir tāds, ka katra apakšklase ir kopīgas iezīmes ar klasi, no kuras. Visas automašīnas ir riteņi un motoru. Tas ir, kas nosaka transportlīdzekļu parametriem. Papildus vispārīgajām īpašībām katra apakšklase ir savas īpatnības. Ir daudzi autobusu sēdvietas un kravas vietas, lai smagu kravu.
Līdzīgi bāzes klase var būt apakšklase mātes vairāki atvasinājumi, ko var definēt tā, ka viņi dalīsies savas īpašības ar papildus. Mantojuma piemēram, funkcijas, vienkāršojot procedūras programmu. Ja vairākas daļas koda dara diezgan daudz to pašu, jūs varat iegūt kopīgos elementus un nodot tos vienā procedūrā. Trīs pieteikumu platība var zvanīt funkciju, lai veiktu kopīgas darbības, bet tās var radīt, un tās pašas darbības. Līdzīgi, bāzes klase satur informāciju, kas kopīgs grupai atvasinājumu. Līdzīga funkcija samazina mantojuma objektu orientētu programmu un precizēt saistību tās elementiem.
pārstrādi
Kad klase ir izveidota un debugged, to var pārnest uz citiem programmētājiem atkārtoti saviem pieteikumiem. Tas ir tāpat kā bibliotēkas funkcijas, kas var tikt iekļauti dažādos lietojumos.
OOP iedzimtība ir paplašinājums ideju par vairāku lietošanai. No esošās klases, nemainot to, mēs varam veidot jaunu, pievienojot citas funkcijas. Vieglumu un atkārtoti izmantot esošos programmatūras - nozīmīga priekšrocība PAO. Tiek uzskatīts, ka tas nodrošina pieaugošu rentabilitāti sākotnējo ieguldījumu.
Jaunu datu tipi
Saimniecība piemērotas par jaunu datu tipu. Pieņemsim, ka programma izmanto divdimensiju vērtības (piemēram, koordinātas vai platums un garums), un ir vēlme paust rīcību aritmētisko uz tiem:
nostāju1 = pozīcija + izcelsme,
kur nostāju1, stāvoklis un izcelsme - pāri neatkarīgu skaitliskās vērtības. Radot klase, kas ietver šos divus lielumus un mainīgo deklarācijas tās priekšmetu rada jaunu datu tipu.
Polimorfisms, pārslodzes
Operatori = (vienāds), un + (plus) izmanto aritmētikas pozicionālo iepriekš nedarbojas, kā arī iebūvētu veidi, piemēram, int. Pozīcijas objekti, un citi. Vai nav iepriekš un noteikt ar programmatūru. Kā šie operatori zina, kā rīkoties ar to? Atbilde slēpjas faktā, ka jaunas uzvedību var noteikt tiem. Šīs darbības būs biedrs funkcijas klases pozīcija.
Izmantojot operatoru vai procedūras, atkarībā no tā, ko viņi strādā, sauc polimorfismu. Ja ir operators, piemēram, + vai =, saņem iespēju strādāt ar jauno datu tipu, tā saka, ka tas ir pārslogots. Pārslodzes ar PAO - sava veida polimorfisms. Tas ir tā svarīga iezīme.
Grāmata par PLO "Object-Oriented Programming for Dummies" ļaus ikvienam iepazīties ar šo tēmu sīkāk.
Similar articles
Trending Now