Objektinis programavimas: Skirtumas tarp puslapio versijų

 
(nerodoma 2 tarpinės versijos, sukurtos 2 naudotojų)
1 eilutė: 1 eilutė:
{{Nebaigta}}
'''Objektinis programavimas''' – [[programavimas|programavimo]] tipo atseit esą [[paradigma]], grįsta objektais, kurie tipo kaip tai esą pranašesni už visokias procedūras.
'''Objektinis programavimas''' – [[programavimas|programavimo]] tipo atseit esą [[paradigma]], grįsta objektais, kurie tipo kaip tai esą pranašesni už visokias procedūras.


11 eilutė: 10 eilutė:


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.
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 ==
== Objektinis ir procedūrinis programavimas ==
17 eilutė: 15 eilutė:


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ė.
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ė.
Dar čia [[teisybės dėlė|teisybės dėlei]] pridėkim, kad ir istoriškai taip gaunasi - pirma pasaulyje objektinė programavimo kalba buvo tokia [[Simula]], kuri buvo tiesiog pirmos pasaulyje procedūrinės programavimo kalbos [[Algol]] išplėtimas.


Kaip sako patyrę programuotojai - objektas tėra šablonizuotas neimspeisas su prie jo prikabintomis procedūromis ir kintamaisiais, ir nieko daugiau.
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.
Ž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ą:
Čia kai kurios kalbos, kurios palaiko objektinį programavimą:
* [[Simula]]
* [[C++]]
* [[C++]]
* [[C#]]
* [[C#]]
1 637

pakeitimai