Python - objektai

Turinys
Viduje Objektinis programavimas, objektai yra abstrakčios elementų reprezentacijos, kurias apibrėžiame pagal jų atributus ir kurios turi daugybę metodų, leidžiančių manipuliuoti ir turėti prieigą prie šių atributų.
egzistuoja 3 funkcijos kurie suteikia mums priežastį naudoti savo objektus, o ne priklausomai nuo funkcijų, bibliotekų ir globalių dalykų, kuriuos mums suteikia kalba, yra šie:
  • Polimorfizmas: tų pačių operacijų naudojimas skirtinguose skirtingų klasių objektuose.
  • Kapsulė: paslėpti jo atributus nuo objektų, esančių už objekto ribų, kad jis galėtų juos apsaugoti.
  • Paveldėjimas- Sukurkite konkretesnius objektus, kurie paveldėtų bendresnės aukštesnės klasės atributus ir metodus.

Šis terminas reiškia, kad jis turi daug formų, tai reiškia, kad galime atlikti operacijas, kurios veiks skirtingai, priklausomai nuo objekto tipo ar klasės. Paimkime paprastą pavyzdį, įsivaizduokime, kad turime pirkinių krepšelį, tada mes apibrėžiame, kaip norime gauti kainos duomenis ir norimą produktą, kaip matome kitame paveikslėlyje, kuriame sukuriame kortelę.

Kas nutiktų, jei būtų išplėstas pirkinių krepšelio funkcionalumas ir dabar dirbame su aukcionais, tam tikru būdu turėtume nurodyti vertes, kurias reikia gauti ir kaip elgtis naudojant tuos pačius metodus, kaip daugelis mano yra padaryti tokios formos funkciją, tačiau netinka.

Kaip matome paveikslėlyje, kuriame aptariame šio momento galimybes, tačiau tai, kas nutinka, kai padidinamos funkcijos, turėsime nuolat atnaujinti šį kodą amžinai, būtent čia atsiranda polimorfizmas ir mes nustatome, kad kiekvienas objektas grąžina savo kainą, neatsižvelgiant į tai, kaip jis apskaičiuojamas, nes tai yra kažkas kiekvienos klasės vidinis, kuris būtų toks:

Tada matome, kad tai padeda mums turėti kodą, kuris laikui bėgant yra patvaresnis ir lengviau prižiūrimas.
Tai susideda iš vidinių klasės detalių slėpimo nuo išorinio pasaulio, kad jį būtų galima pasiekti tik naudojant savo objektus ir metodus, tokiu būdu mes galime dirbti su klasėmis, nežinodami jų vidinio veikimo, pašalindami diegimo sudėtingumą ir apsaugodami mūsų objektų logiką.
Tai taip pat leidžia mums užtikrinkite, kad mūsų objekto duomenys nebus pakeisti, nes jei jie veiks abstrakčiai, galėsime keletą kartų parodyti ir kiekvienas atvejis yra visiškai individualus.
Pažvelkime į nekapsuliuoto objekto pavyzdį:

Čia matome, kad ir buvo o1 kuris sukūrė vardų rinkinį, o2 pasiekti tą patį pavadinimą jo nenustačius, tai programoje būtų problematiška, įsivaizduokime, kad mums reikia kelių produktų kainos ir kiekvienas perrašo ankstesnio kainą.
Dabar, apsupę kapsulę, pažvelkime, kaip veiktų visa programos eiga.

Čia matome, kad kiekvienas objektas išsaugo savo pavadinimą, todėl žinome, kad galime saugiai dirbti, gaudami teisingas kiekvieno objekto vertes.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave