Inkapsulacija je pakiranje podatkov in funkcij v eno samo komponento. Inkapsulacija, polimorfizem, dedovanje: značilnosti

V poznih 80-ih programov ni nič bistveno novega se je zgodilo. Bilo je veliko jezikov, in je bilo veliko razprav Turbo Pascal 5.5 in dobavljenega bilo nekaj čudnih datotek in nekaj ne poznajo sintaksa strukture.

Morda je objektno programiranje dolgujejo svoj obstoj neznanega umetnika, in morda več, predvsem pa je zamisel o združevanju veliko vrednost kode in podatkov v teh dneh niso imele. Z izrazom "vstavljanju" je bilo slabo povezani in posredno.

strukture, funkcije in postopki

Že v prvih različicah programskih jezikov, še pred prvim baza podatkov je postalo jasno, da je to - to ni več in ni niz znakov, ampak nekaj smiseln. Naj bo spremenljivka "števec" v ciklu ali tri niz spremenljivka "name", "ime", "priimek", ampak vedno le smiselno.

"Števec" je vedno po ciklusu in teče. A "ime", "ime", "priimek", bo objavila skupaj, in sodelujejo v številnih delih kode je v skupni rabi. Kadar se uporablja samostojno, na splošno, bodo imeli smisel. Funkcije in postopki prvotno pojavil kot skupne dele kode. So prvotno predvideno uporabo drugje v programu. Njihov nastop v programu, ki določa ponavljanje enote istega ukrepa. Odstranitev ponavljanja kot funkcija ali postopek poenostavljene mestih ponavlja, zmanjša količino kode in poenostavljenegaodpravljanje napak
To ni bilo objektno usmerjeno programiranje, ampak klasični slog kodiranja od samega začetka njegovega razvoja se je ukvarjal z generalizacijo podatkov, ustvarjanjem struktur in funkcionalnih področij kode.

Razlogi za začetek enkapsulacije

Encapsulacija v programiranju se je začela že pred OP. Bilo je v globinah klasičnega stila, ni upoštevalo funkcionalnega programiranja, strukturnega in vsega drugega, kar je iskalo pot v prihodnost. Vsak prevajalnik in tolmač jezika sta skrbno vzela vse novo v svojo sintakso in ponudila razvijalcem možnosti za implementacijo semantike. Informacije še nikoli niso bile statične, samo programiranje je še vedno zadovoljno s svojo formalizirano različico. Tudi če so strogo formalizirane, informacije zagotavljajo delovno kodo, ki je z njo vedno povezana. Informacije nikoli ne morejo biti statične.

Najbolj nepomemben primer inkapsulacije, ki se je že dolgo ohranil. Tri spremenljivke "priimek", "ime", "patronymic", kjer koli so, vedno zahtevajo funkcije dodajanja, urejanja, brisanja. Poleg tega te spremenljivke zagotavljajo maso konkretnih ljudi, to je veliko kopij:
  • Ivanov, Ivan, Ivanovič;
  • Petrova, Irina Vasylivna;
  • Kukushkina, Polina, Grigorievna;
  • in abstraktni razred
  • "priimek", "ime", "patronymic";
  • in tri večne funkcije
  • ;
  • sprememba;
  • izbrisati.
  • Taki modeli na kateri koli ravni (naslovi, delovna mesta, osebje, proizvodni načrt)veliko se lahko spomnite. In kompleksnost izvajanja drugega modela bo izjemno dolga.

    Življenjska doba primera enkapsulacije

    Encapsulacija je podatek in koda.
  • Inkapsulacija besed.
  • Latinska različica - v kapsuli.
  • Beseda "kapsula" je tisto, kar pomeni. Dejstvo, da so mnogi jeziki in razvijalci pripravili (javno, zaščiteno, zasebno) - tema je ločena in vsebina enkapsulacije ima relativni ali uporaben odnos. Na splošno je primer le različica (posnetkov, trenutkov) podatkov in te tri metode živijo večno. Koda kot informacijski filter "zagotavlja" življenje primerov, ker je edinstvena za vsakogar in mimogrede:
  • je koda "konstantna";
  • označuje najenostavnejši nespremenjen učinek.
  • Toda drugi primer lahko "zavrže" trik. "Če se primer pripiše osebju podjetja, bosta direktor in računovodja v seriji kopij še posebej pomembna, medtem ko lahko drugi ostanejo v običajni obliki." Direktor in računovodja lahko imata svoje kode, torej svoje funkcije. To pomeni, da življenjska doba primerka ni vedno odvisna od funkcionalnosti treh čarobnih besed:
  • add;
  • sprememba;
  • izbrisati.
  • Če se primer pripiše prvemu človeškemu letu v vesolje, potem bo dobrih ducat kandidatov za prve astronavte imelo veliko posebnih funkcij, dobre stotine ljudi (osebkov), ki jim bodo sledili na poseben način, še vedno bo veliko možnosti za strokovnjake, ki bodo zelo \ t veliko posebnih funkcij.

    Začetek operativnega načrta

    "Nujno je nekaj spremeniti", - je menilo, da določeno število razvijalcev in vKot dober primer sem predlagal delo s predmeti na Turbo Pascal 6.0 Professional. To ni idealna ponudba, vendar je zelo visoka kakovost preprosta in učinkovita.

    Prenos, da je "enkapsulacija, polimorfizem, dedovanje temelj objekta, dobimo dober začetek." Polimorfizem zagotavlja potrebno dinamiko, ker imajo lahko primerki različno funkcionalnost, ki jo je treba nekako "legalizirati" v objektu. Težko je prikazati homogenost objekta, zgraditi rodoslovno drevo formaliziranih informacij in težko je reči, da je enkapsuliranje podatkov preprosta kombinacija podatkov in kod, vse je zelo preprosto in obstaja odličen koncept. Primer objekta - Dostop do njegove kode je mogoč le s podatki, ki jih je lahko veliko, vendar je koda za njih vedno ista in ni povezana z vsemi, ampak je dostopna vsem.Kadar primerek predmeta zahteva posebno pozornost, se pojavi le še en predmet, ki bo imel izboljšano funkcionalnost, to je podedoval vse, kar je bilo v izvirnem predmetu, vendar dodaja svoje.
    Svet je dopolnjen s kopijami drugega predmeta, ki ima tudi nove potrebe. Nova funkcionalnost in nov predmet. Vendar ne morejo vsi novi predmeti imeti potomcev. Nekateri jih sploh ne potrebujejo več. Kot rezultat te konstrukcije dobimo razvejano sliko objektov, ki v resnici daje življenje velikemu številu kopij, povezanih z drugimi rodovnicami in funkcionalnimi spojinami. Idealen način za izvedbo naloge v slogu OOP je, kdajinkapsulacija, polimorfizem, dedovanje so tako kvalitativno premišljene, da koda v programu popolnoma ni prisotna. Predmeti sami opravljajo svoje funkcije, uporabljajo samo svojo kodo, gradijo odnose med seboj.

    Življenje OOP-a

    V resnici je vse videti zelo različno. Inkapsulacija je dobra in tukaj se ne strinjate. Ampak, da pravilno zgraditi sliko predmetov, da razmisli o funkcionalnosti vsakega, da napovedujejo, kako določene ali druge primerke, ki jih je mogoče pričakovati od podatkov, se bodo obnašali sami, ni lahko. Moral sem poenostaviti situacijo in OOP je šel po poti avtomatizacije dela razvijalca, namesto da bi rešil prave probleme. Z vidika hitrosti pridobivanja izkušenj - to je učinkovita ideja, kaj bi moral OOP narediti za avtomatizacijo računovodskega dela, ko ga je mogoče dodati meniju na strani HTML? To je zelo preprosto: obstaja element menija, obstajajo njegove različice. Uporabniku lahko predlagate, da izbere možnosti menija (navpično, vodoravno, spustno), gumbom lahko dodelite obliko (okrogla, kvadratna, zaokrožena itd.).
    Le malo ljudi zanima delo in življenje razvijalca. Vsakdo potrebuje knjigovodstvo, proizvodnjo in usposabljanje, ker je treba opraviti prave naloge. Torej boste morali povečati ekipe, potem pa bo sistem objektov izvajali različni strokovnjaki in lahko škodujejo drug drugemu. V mnogih pogledih je PLO postavil na proizvodne tračnice. Že ni bilo nobenega dvoma: enkapsulacija, dedovanje je dober način, ampak kako zaščititi predmete pred vmešavanjem tretjih oseb, tako s strani kot skozi rodovnik? To ni nujno heker.Nenamerno poškodujete s spremembo podatkov prednika, morda drugega razvijalca. Sodobno programiranje je veliko razvijalcev, ki so v nizu oddaljenih pisarn. Kot čebele sodobni razvijalci zgradijo eno skupno strukturo objektov. Vsak objekt mora biti zgrajen v skladu s splošnimi pravili, podatki in metode, za katere en programer odgovarja, ne smejo biti na voljo drugim. Ko nekdo nekaj potrebuje, je to še ena tema. Na osnovnem načelu vsakdo dela svojo stvar na svojem območju.

    Enkapsulacija je dobra, vendar

    PHPWord je močan, dobro izdelan in obetaven izdelek. Odličen sistem objektov, premišljen in učinkovit. Spodaj je začetek opisa notranjega predmeta tega izdelka. Ena preprosta abstrakcija celice tabele iz na splošno prazne abstrakcije - posoda. In to je daleč od celotnega opisa.
    Ni vam treba potopiti se v blato, da bi razumeli. Uporaba številnih komentarjev ne daje jasnosti in besede zaščitene, zasebne in javne nasploh pravijo, najprej, da se je razvijalec tretje osebe, ki uporablja to knjižnico, spremenil na pravem mestu zasebno v javno (glej komentar: "sc 19062016 je bil zaseben)" . To je napaka kode, ki jo je razvijalec moral uporabiti, zato je moral popraviti in zato je moral nekaj spremeniti. Predvidevamo lahko, da morate v fazi razvoja omejiti dostop do določenih objektov, toda tukaj je pomembno, da se popolnoma razlikujejo. Obstaja življenje primerov, obstaja življenje predmetov, vendar je novo življenje - kaj se zgodi s sistemom objektov v njegovi uporabi. Življenje v oblikovanju in življenju v uporabi. Značilnoznačilnost sodobnega programiranja - togo negacijo kontinuitete. Če je prej razvijalec zagotovil, da bo vsaka nova različica dopolnila in izboljšala prejšnjo, je danes vsaka nova različica predmeta, jezika, programskega okolja v osnovi ali vsaj bistveno drugačna od prejšnje. Tudi gostovanje pogoji na gostovanje storitev se lahko spremenijo, tako da boste morali obdelati kodo. Pogosto je to zelo težko.

    Dobra dednost, dober izhod

    Nobene napake ni zavarovana. Vsako novo podjetje pa zahteva znanje. PHPWord je dobra knjižnica in na to se morate samo navaditi. Veliko strokovnjakov je porabilo veliko časa. Razvijalec, ki ga namerava uporabiti, mora nameniti dovolj časa za proučevanje strukture Vordovian datoteke. To ni skrivnost. Sistem objektov PHPWord bo pregleden in dostopen. Podana je taka, kot je, vendar, če obstaja želja, da bi šli še dlje, ker sedanja funkcionalnost ni dovolj. Dobra ideja. Potem je to še en sistem objektov in bolje, če gre še dlje. Ni tako slaba zamisel o togi zavrnitvi kontinuitete: spodbuja razvoj znanja. Predmeti, ki jih je zgradila ena skupina razvijalcev, so njihova razmišljanja o tem, kako rešiti nalogo, kako predstaviti njeno funkcionalnost.
    Razumevanje te odločitve druge razvojne družbe je sprememba izkušenj. Če si predstavljate, da je to samo prototip želenega sistema objektov, zakaj ga preprosto ne podedujete? Dobra dednost - značilnost naravne inteligence, se zanaša na nekaj primernega s strani programiranja - to je s terenaprihodnosti, čeprav najbližje.

    Pravilna inkapsulacija

    Enkapsulacija ni kombinacija podatkov in kode sploh. To je kombinacija cenovno dostopnih in zaželenih. Če razmišljate o podatkih in algoritmih, vendar za zaznavanje veljavnosti in izvedbo primerne enkapsulacije, dedovanja tega dejanja od razvijalca do dobavitelja, je verjetno: pojav sistemov premikajočih se objektov in samo-razvijajočih se, je še vedno mogoče.

    Sorodne publikacije