Objektinis programavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Jump to navigation Jump to search

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[redaguoti | redaguoti vikitekstą]

  • 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).