998
pakeitimai
Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
(Naujas puslapis: {{Nebaigta}} '''Objektinis programavimas''' – programavimo paradigma, grįsta objektais. Objektiniam programavimui atvirkščias procedūrinis programavimas, kuriame remiamasi ne objektais, o procedūromis (funkcijomis). == Objektinio programavimo kalbų pavyzdžiai == * C++ * C# * Java * JavaScript * Pascal * Python Kategorija:Programavimas) Žymos: Keitimas mob. telefonu Keitimas įskiepiu mobiliesiems Advanced mobile edit |
|||
| 1 eilutė: | 1 eilutė: | ||
{{Nebaigta}} | {{Nebaigta}} | ||
'''Objektinis programavimas''' – [[programavimas|programavimo]] [[paradigma]], grįsta objektais. | '''Objektinis programavimas''' – [[programavimas|programavimo]] tipo atseit esą [[paradigma]], grįsta objektais, kurie tipo kaip tai esą pranašesni už visokias procedūras. | ||
Yra tokie keturi objektinio programavimo principai: | |||
* Enkapsuliacija - tai reiškia, kad objektas kokius tai savo vidinius duomenis enkapsuliuoja, t.y., paslepia nuo aplinkos, kad nesimatytų ko nereikia. | |||
* Paveldimumas - tai reiškia, kad objektas paveldi iš kito objekto visokius dalykus, tai reiškia, kad kokia nors klasė gali pernaudoti superklasės galimybes | |||
* Polimorfizmas - tai reiškia, kad tas pats dalykas gali būti pasiekiamas ir naudojamas įvairiais pavidalais, t.y., vienur kažkokią superklasę kažkuo papildžius, tuo daiktu pasipildo ir subklasės | |||
* Abstrakcija - tai reiškia, kad vienas objektas ar ten kokia tai klasė nežino, kaip sudaryta kita klasė ir žinoti to neturi, ir gali keistis duomenimis, naudojant interfeisus | |||
Tai iš tokio apibrėžimo matom, kad čia vanduo vandenuotas, tiksliau [[sviestas sviestuotas]], nes bet kuri procedūra gali tapti kitos procedūros dalimi, o struktūra - irgi kokios nors struktūros dalimi, taip kad nieko čia išties labai naujo. | |||
Praktikoje objektinis programavimas greičiau pasireiškia per tai, kad į vieną struktūrą būna suplakami visokie kintamieji ir procedūros (funkcijos), taip kad mažiau painiotųsi, o paskui dar tie kratiniai panaudojami kaip templeitai, kuriant naujus panašius objektus, t.y., kad programuotojui nereikėtų pačiam rankomis daryti copy-paste, už tą jį padaro [[kompiliatorius]] ar [[interpretatorius]]. Savaime aišku, kai šitaip automatizuotai kopypeistinama, tai gaunasi didelis perteklius visokių perteklinių niekam nereikalingų kintamųjų ir kreipimųsi į visokias funkcijas, dėl ko objektinėmis kalbomis parašytos programos atminties naudoja daug, o dirba lėtai - aišku, čia lyginant su procedūrinėmis kalbomis. | |||
== Objektinis ir procedūrinis programavimas == | |||
Objektiniam programavimui atseit [[esą esą]] atvirkščias [[procedūrinis programavimas]], kuriame remiamasi ne objektais, o procedūromis (funkcijomis). | |||
Realiai gi ne - natūralus pavyzdys yra kad ir visiškai procedūrinė [[C kalba]], kur struktūra su pointeriais į objektą netgi ir sintaksiškai atrodo kaip objektas, nors realiai gi čia procedūrinė klasika. Kitas pavyzdys - [[Pascal]] kalba, kuri laikoma vienu iš procedūrinio programavimo fundamentalių implementacijų (aišku, tik po [[Algol]], kuri nuo to Pascal ne tiek jau ir toli). Tai vat, [[Objective Pascal]] implementacijos yra vienos iš ryškiausių ir geriausių objektinio programavimo implementacijų, kurių dėka tas pats objektinis programavimas nemenka dalimi ir išsivystė. | |||
Kaip sako patyrę programuotojai - objektas tėra šablonizuotas neimspeisas su prie jo prikabintomis procedūromis ir kintamaisiais, ir nieko daugiau. | |||
Žodžiu, priešinti dalykų nereikėtų, nes tai gali būti labai smarkiai klaidinga. | |||
== Objektinio programavimo kalbų pavyzdžiai == | == Objektinio programavimo kalbų pavyzdžiai == | ||
Čia kai kurios kalbos, kurios palaiko objektinį programavimą: | |||
* [[C++]] | * [[C++]] | ||
* [[C#]] | * [[C#]] | ||
* [[Java]] | * [[Java]] | ||
* [[JavaScript]] | * [[JavaScript]] | ||
* [[Pascal]] | * [[Objective Pascal]] | ||
* [[Python]] | * [[Python]] | ||
[[Kategorija:Programavimas]] | [[Kategorija:Programavimas]] | ||
pakeitimai