OqPoWah.com

Abstraktni razred in metoda: opis, značilnosti in značilnosti. Kakšna je razlika med abstraktnim razredom in vmesnikom

Vsakdo, ki ima vsaj minimalno znanje o programiranju, se sprašuje, zakaj obstajajo abstraktni osnovni razredi. Kakšen je njihov namen? Kako ustvariti abstraktni razred? Kakšne prednosti dajejo v praksi? Zakaj so potrebni pri programiranju in kakšne značilnosti njihovega izvajanja je treba upoštevati?

Abstraktni razredi

abstraktni razredTorej se v programiranju imenuje enota programske kode, na podlagi katere predmeti ni mogoče ustvariti. Treba je opozoriti, da dediči tega razreda morda niso abstraktni. Zato je ustvarjanje predmetov na njihovi podlagi povsem možno. Če upoštevamo primer iz Jave, potem izdelamo tak model: gradnike lahko razložimo v razredu A. Toda jih ne moremo uporabiti. Izhod iz te situacije je, da se spremenljivka razglasi za referenco. In je treba jasno navesti, da opozarja na predmet razreda A. Toda kako se to lahko naredi? Igra nas bo pomagala pri tem. Treba je opozoriti, da se matični razred vedno šteje za bolj univerzalen kot otrok. V mnogih programskih jezikih se oddajanje uporablja samodejno. Toda če ni zaupanja v razpoložljivost takega mehanizma, morate izrecno navesti sklic na predmet.

Abstraktne metode

Kaj so oni? Abstraktna imena so tiste metode, ki v obravnavanem razredu nimajo izvajanja. Tako je po oklepaju (v katerem so navedene trditve njej uporabljenih) ne dajejo oblikovano odprtino (nakar se nahaja opisu skupinske metode) ter le podpičjem. Tako v tem primeru ni podatkov o tem, kaj počne. Tukaj lahko postavite vprašanje: "Zakaj je metoda brez izvajanja?" Navsezadnje ga ni mogoče uporabiti! Seveda to ni mogoče v razredu, kjer je bilo opisano. Ampak, če to situacijo obravnavamo z vidika potomstva, potem lahko rečemo. In bo deloval v skladu s posebnim opisom, ki je na voljo v tem razredu.

Značilnosti abstraktnih metod

ustvarite abstraktni razredObstajajo omejitve pri njihovi uporabi. Poglejmo ga na primer Java programski jezik. Tukaj je taka zahteva: če je v razredu vsaj ena takšna metoda, potem mora biti nujno abstraktna. In v katerih primerih je primerno uporabiti takšne konstrukcije? Poglejmo to v primeru razredov hišnih ljubljenčkov. Za začetek je treba razumeti, da ni nobenega zvoka, ki ga vsi objavijo. Zato v najbolj splošnem razredu ni določena zvočna metoda. Toda za njega je ustvarjeno telo, ki je ločeno z bloki. In že v prihodnosti, ko bo ustvarjen razred psov, mačk in hrčkov, bo za njega predpisana posebna metoda, v okviru katere se bodo razkrile vse funkcije.

Vmesnik

kakšna je razlika med abstraktnim razredomPri programiranju je bilo ustvarjenih veliko orodij, katerih namen je pomagati osebi, da naredi izdelek dobre kakovosti. V okviru obravnavane teme je treba pozornost nameniti temu vidiku, tako da vsi poznajo razliko med abstraktnim razredom in vmesnikom. Torej, posebnost slednjega je, da ne more imeti lastnosti, metode pa ne opredeljujejo teles. Raziskovanje, kaj se abstraktni razred razlikuje od vmesnika, bi se morali premisliti o še eni funkciji. Torej, prvi je podedovan, drugi pa realiziran. Neizkušeni osebi se to lahko zdi nepomembno. Toda dejstvo je, da je mogoče podedovati samo en razred, in vsako številko je mogoče uresničiti. Tako se od vmesnika razlikuje abstraktni razred. Java ima tiste funkcije, ki jih lahko opisujejo le abstraktne javne metode in statične konstante. Toda vmesniki so lahko tudi podedovani. V tem primeru je treba navesti, da so uporabljeni operaterji javni s pomočjo javnosti.

Večkratna dediščina vmesnika




kot abstraktni razred razlikuje od vmesnikaTa funkcija ni dostopna za razrede v številnih programskih jezikih (na primer v Javi, ki jo razmišljamo). To je posledica številnih težav. Kot taka navedite dvoumnost, ki se pojavi pri dedovanju. To je bil razlog za uvedbo več dednih vmesnikov. To delno rešuje obstoječe težave, vendar ne vse. Torej, zaradi načel inkapsulacijo in polimorfizem, vmesniki lahko uspešno izvajajo v različnih razredih po različnih metodah (čeprav bodo imeli enako ime). Toda ne pozabite na obstoječe težave. Torej, ko delate z več vmesniki, boste vedno morali določiti, kdo mislimo. Tudi pri poskusu dela z dvema metodama istega imena bo prišlo do težav, v tem primeru jih ni mogoče uporabiti. Zato je za take primere potrebno skrbeti za razpoložljivost skupne realizacije.

Povzetek podatkov

abstraktni razred in vmesnikTa koncept je ključnega pomena pri programiranju. V tem primeru se abstrakcija razume kot samostojno preučevanje in ločevanje vmesnika ter njegovo izvajanje. Poglejmo si primer. Imamo televizor, ki je predmet ali modul. Ima vmesnik. Kot taka obstajajo kontrole za to, pa tudi predvajanje zvoka in slike. Bolj napreden je vmesnik, bolj primeren je, da je TV v uporabi. Programe lahko preklopimo s klikom na poljubne gumbe. V tem primeru ni treba razmišljati o fizičnih procesih v televizorju. Skrbijo jih strokovnjaki, ki zbirajo napravo. Samo lastniki nas zanimajo kot uporabniki. Vračamo se na programiranje, lahko rečemo, da so po tej analogiji vmesnik in izvedba. Tudi, če je oseba prepričana v svoje znanje, potem lahko "odstrani" kritje iz naše hipotetične TV in jo izboljša. Čeprav to lahko privede do lokalnih uspehov, je končni rezultat v večini primerov negativen. Zato je pri programiranju dostop zavrnjen, notranje sestavne dele pa skrite za abstraktne podatke. Načelo tega mehanizma predvideva načine za preprečevanje namerne ali nenamerne spremembe notranjih komponent. Ko govorijo o abstraktnih tipih podatkov, pomenijo njihovo zbirko z nizom operacij, ki jih je mogoče izvajati na njih.

Objekti

Preučili smo abstraktni razred in vmesnik na splošno in na splošno. Zdaj pa malo spoznajmo naše znanje. Najprej bomo pozorni na predmete. Z njimi v splošnem primeru razumemo del okoliške realnosti, ki obstaja v vesolju in času. Vendar pa je v okviru programiranja (s filozofskega in teoretičnega vidika) precej težko formalno opredeliti predmete. Zato je to storjeno zaradi svojih lastnosti. Kot primer lahko navedemo naslednje: objekt je lahko edinstveno identificiran (ima edinstveno ime), je v določenem stanju in uporablja določen model vedenja.

Dedovanje

abstraktni osnovni razrediKer se programiranje temelji na hierarhičnem drevesu gradnjo odnosov med predmeti, se postavlja vprašanje o tem, da so z njimi povezane lastnosti vrst starševskih kode knjižnic prenesene. Dedovanje je razumljeno kot odnos, ko se ponovi vedenje in struktura nečesa drugega. V običajnem življenju je to mogoče najti povsod. To je bilo tudi preneseno na programiranje v zvezi z abstraktnimi elementi. Za primerjavo lahko navedemo dejstvo, da takega organizma kot ptice ni. To je abstraktno ime. Kot poseben vzorec prinesete galeb, slaščičar ali vrabec. Zaradi dedovanja lahko uporabimo knjižnice razredov in jih razvijemo za določen program. Tako orodje nam omogoča ustvarjanje novih predmetov, hkrati pa dodajanje ali spreminjanje lastnosti že ustvarjenih. Prebivalec dobi vse metode in polja svojega prednika in, če je potrebno, pridobi lastne lastnosti. Glede na dejstvo, da so abstraktni elementi in načela dediščine, obstaja veliko možnosti za spremembe znotraj objektnega programiranja. Poleg tega vam omogoča fleksibilno prilagajanje reševanju nalog. Ko podedujete, se podatki in funkcije prenesejo v nov razred.

Polimorfizem

razlika med abstraktnim in vmesnim razredomZa reševanje različnih vrst nalog je potrebno uporabljati iste funkcije. V tem primeru zagotavlja prisotnost možnost drugačnega delovanja, se bo vsebina, ki je odvisna od vrste objekta, ki je opravljeno delo. Pod polimorfizma razumeti lastnosti elementov, ki imajo skupen staršev, opravlja podobno pomensko smislu problema na različne načine. Analiramo z živalmi. Obstaja takšen ukrep - teči. Vsi razumemo, kako se to zgodi. Toda različnih živali (lev, slon, šimpanza, krokodil, želva) ta ukrep se bodo izvajale na različne načine. V tem primeru, njihovo gibanje je odgovoren za razvijalce, ki se lahko po potrebi povzroči za posamezen primer neka rutina, algoritmov in njeno izvajanje uspešno. To se naredi z uporabo nabor metod. V tem primeru programator v vsakem posebnem razredu označuje, kateri objekt ima lastnosti. Če spremenite kaj pri potomcih, lahko v tem primeru dosežete določene, potrebne ukrepe. Takšen vpliv imenujemo predmetni polimorfizem. Na splošno je abstraktni razred izjemno koristno programsko orodje.

Zdieľať na sociálnych sieťach:

Príbuzný