Objektinis programavimas: Skirtumas tarp puslapio versijų

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Ištrintas turinys Pridėtas turinys
S Atmestas 195.182.90.151 pakeitimas, grąžinta ankstesnė versija (Homo ergaster keitimas)
Eilutė 10: Eilutė 10:
* [[Polimorfizmas (programavimas)|Polimorfizmas]] – objektiškai orientuotos kalbos nekviečia paprogramių, bet siunčia pranešimus, todėl konkretus į pranešimą reaguojantis metodas priklauso nuo objekto, ne nuo siuntėjo. Tai leidžia dirbti su bendresnio tipo objektais (pvz., ''paukštis''), nežinant konkretaus tipo (pvz., ''strutis'' ar ''pingvinas''), dėl to nereikia kiekvienam konkrečiam tipui rašyti atskiro kodo.
* [[Polimorfizmas (programavimas)|Polimorfizmas]] – objektiškai orientuotos kalbos nekviečia paprogramių, bet siunčia pranešimus, todėl konkretus į pranešimą reaguojantis metodas priklauso nuo objekto, ne nuo siuntėjo. Tai leidžia dirbti su bendresnio tipo objektais (pvz., ''paukštis''), nežinant konkretaus tipo (pvz., ''strutis'' ar ''pingvinas''), dėl to nereikia kiekvienam konkrečiam tipui rašyti atskiro kodo.
* [[Paveldėjimas (programavimas)|Paveldėjimas]]- Objektų organizavimas specializuojant egzistuojančius bendresnius tipus, papildant ar iš dalies pakeičiant funkcionalumą.
* [[Paveldėjimas (programavimas)|Paveldėjimas]]- Objektų organizavimas specializuojant egzistuojančius bendresnius tipus, papildant ar iš dalies pakeičiant funkcionalumą.
* '''[[Klasė (programavimas)|Klasė]]''' - aprašas, nusakantis tam tikro tipo objektų duomenų struktūrą ir manipuliavimo jais taisykles (elgesį). Pavyzdžiui, jei aprašome klasę „Žmogus“, galėsime kurti šios klasės objektus kiekvienam konkrečiam asmeniui, šie objektai turės bendrą duomenų struktūrą, tačiau skirtingas reikšmes (skirsis ūgis, svoris, lytis, vardas).





11:28, 7 gegužės 2018 versija

Objektinis programavimas, trumpiau OOP (angl. Object-Oriented Programming) – programavimo paradigma, kompiuterinių programų architektūroje naudojanti objektus ir jų sąveikas. Beveik visos dabartinės programavimo kalbos turi patogias OOP programavimo galimybes. Kai kurios yra pilnai sukurtos šiuo pagrindu, pavyzdžiui, Java, Smalltalk, C++, Delphi ar C#.

Objektiškai programuoti galima bet kuria kalba, tik jei nėra specialiai tam skirtų priemonių, gali būti žymiai sunkiau rašyti kodą ir jį suprasti.

Pagrindinės koncepcijos

  • Objektas – duomenų ir susijusio funkcionalumo talpinimas į vientisus vienetus; objektai padeda pasiekti moduliškumą ir nusako objektinės programos struktūrą.
  • Abstrakcija – galimybė programuoti nežinant konkrečių detalių apie informaciją.
  • Inkapsuliacija (informacijos slėpimas) – užtikrina, kad objekto naudotojas negali pakeisti objekto būsenos nenumatytu būdu. Tik objekto vidiniai metodai turi galimybę keisti objekto būseną. Objektas pateikia interfeisą (sąsają), nusakančia galimybes manipuliuoti objektu.
  • Polimorfizmas – objektiškai orientuotos kalbos nekviečia paprogramių, bet siunčia pranešimus, todėl konkretus į pranešimą reaguojantis metodas priklauso nuo objekto, ne nuo siuntėjo. Tai leidžia dirbti su bendresnio tipo objektais (pvz., paukštis), nežinant konkretaus tipo (pvz., strutis ar pingvinas), dėl to nereikia kiekvienam konkrečiam tipui rašyti atskiro kodo.
  • Paveldėjimas- Objektų organizavimas specializuojant egzistuojančius bendresnius tipus, papildant ar iš dalies pakeičiant funkcionalumą.
  • Klasė - aprašas, nusakantis tam tikro tipo objektų duomenų struktūrą ir manipuliavimo jais taisykles (elgesį). Pavyzdžiui, jei aprašome klasę „Žmogus“, galėsime kurti šios klasės objektus kiekvienam konkrečiam asmeniui, šie objektai turės bendrą duomenų struktūrą, tačiau skirtingas reikšmes (skirsis ūgis, svoris, lytis, vardas).