RačunalaSoftver

Apstraktne klase i metode: opis, karakteristike i funkcije. Ono što se razlikuje od apstraktne klase sučelje

Svako ko ima bilo malo znanja u programiranju, pitajući se o tome zašto postoje apstraktne osnovne klase. Koja je njihova svrha? Kako stvoriti apstraktne klase? Koje su prednosti oni nude u praksi? Zašto su potrebni u programiranju i neke karakteristike njihove primjene treba uzeti u obzir?

apstraktne klase

Dakle, u programiranju pod nazivom jedinici kod na osnovu kojih se ne može kreirati objekte. Napominje se da je ova klasa nasljednika ne može biti apstraktna. Stoga, stvaranje predmeta na osnovu njih je sasvim moguće. Ako uzmemo u obzir primjer Java, gradimo model koji možemo opisati konstruktora u klasi A. Ali da ih koriste, ne možemo. Izlaz iz ove situacije je da se proglasi bilo koje varijable referencu. I treba ti biti jasno definirane tako da pokazuje na objekt klase A. To je kako se to može učiniti? To će nam pomoći donijeti. Treba imati na umu da roditelj klase uvijek smatra više svestran nego potomak. U mnogim programskim jezicima koji se koriste za automatsko donijeti. Ali, ako ne postoji povjerenje u prisustvu takvog mehanizma, onda morate se izričito odnosi na predmet.

apstraktne metode

Šta su oni? Sažetak poziv te metode koje se ne provode u ovoj klasi. Tako je, nakon zagradama (koji navodi argumente koristi u njima) ne daju u obliku otvaranja (nakon čega se nalazi blok opis metode), a samo zarez. Dakle, u ovom slučaju, nema informacija o tome što radi. Ovdje je pitanje može se upitao: "A šta metode bez implementacije?" Na kraju krajeva, on se ne može koristiti! Naravno, u učionici, gdje je opisao, to nije moguće. Ali ako uzmemo u obzir situaciju sa stanovišta potomak, to se može nazvati. I to će raditi na specifičan opis dostupan u ovoj klasi.

Karakteristike apstraktne metode

Postoje ograničenja u njima koriste. Razmotrimo primjer Java programskom jeziku. Postoji potreba ako klasa ima barem jedan takav način, to mora biti apstraktna. U svakom slučaju to je prikladno koristiti takve konstrukcije? Da se razumemo to sa primjer klase kućnih ljubimaca. Za početak da shvate da ne postoji zvuk koji su objavljeni. Dakle, u većini klasu nije podešen zvuk implementaciju metode. Ali stvorio tijelo koje je osim preko blokova za njega. A u nastavku, kada se stvara pas klase, mačka ili hrčak će se propisati jedan način za to, u okviru kojih će biti objavljeni na sve funkcije.

sučelje

U programiranju stvorio mnogo alata čija je svrha - da se pomogne ljudima napraviti kvalitetan proizvod. A tema pod treba uzeti u obzir da se ovaj aspekt, a to svi znaju razliku apstraktne klase iz interfejsa. Dakle, posljednji karakteristika je da to ne može biti svojstva i metode nisu definirani tijelo. Ispitivanjem razlika između apstraktne klase iz interfejsa, treba zadržavati više na jedan poseban. Dakle, prva je naslijedila, dok je drugi - ostvaruje. Neiskusni osoba se ovo može činiti nevažnim. Ali činjenica je da se može naslijedila samo jedan razred, i shvatio - koliko god je potrebno. To je ono što se razlikuje od interfejs apstraktne klase. Java je i dalje funkcije koje se može opisati samo apstraktne javne metode i statičke konstante. Ali u isto sučelja može se naslijedila. Potrebno je istaći da operatori koriste javnosti putem javnosti.

Višestruki nasljeđivanja interfejsa

Ova funkcija nije dostupna za nastavu na mnogim programskim jezicima (npr Java smatraju od nas). To je zbog niza problema. Kao takav nejasnoće ukazuju na to da se javljaju uzastopno. To je bio razlog za uvođenje više interfejsa nasljeđivanja. Ovo djelomično rješava postojeće probleme, ali ne sve. Dakle, zahvaljujući načelima enkapsulaciju i polimorfizam, sučelja može se uspješno implementirati u različite klase prema različitim metodama (iako će imati isti naziv). Ali, ne zaboravite na postojeće probleme. Dakle, kada se radi sa više interfejsa će morati da se uvijek odrediti koji imamo na umu. Također, problemi će biti i kada pokušate raditi sa istim imenom na dva načina - u ovom slučaju, oni neće moći iskoristiti. Stoga, u takvim slučajevima potrebno je voditi računa o prisustvu ukupne prodaje.

apstraktni podaci

Ovaj koncept je ključ za program. U ovom slučaju, pod zahvatanje nezavisne revizije i razumjeti razdvajanje interfejsa i implementacije. Pogledajmo primjer. Imamo televiziju, što je predmet ili modul. Ima interfejs. Kao takvi, oni su kontrole, kao i zvuka i slike. Što više savršen interfejs koristi, udobnije TV u upotrebi. Mi se prebacivati između programa pritiskom na bilo koju tipku. U ovom slučaju, nema potrebe da se razmišlja o fizičkim procesima u TV. Brinu o njima stručnjaka, koji prikupljaju uređaja. Volimo ljude zanima samo svojstva. Vraćajući se na programiranje, možemo reći da su na sličan interfejs i implementacije. Isto tako, ako je osoba sigurna u svoje znanje, on može "ukloniti" pokriti naše hipotetički TV i da ga popravi. Iako to može dovesti do lokalne uspjeh, u većini slučajeva, krajnji rezultat je negativan. Stoga, u podržanom programiranje zabranu pristupa i da se sakrije unutrašnje komponente apstraktnih podataka. Princip ovog mehanizma predviđa način da se spriječi namjerno ili nenamjerne prilagođavanje unutrašnje komponente. A kada se govori o apstraktnim tipovima podataka, srednja seta skup operacija koje se mogu izvršiti na njima.

objektima

Već smo vidjeli apstraktne klase i sučelja u cjelini i općenito. Sada ćemo detaljno našeg znanja. Da biste pokrenuli Obratite pažnju objektima. Ispod njih, u principu, svjesni realnosti životne sredine koja postoji u prostoru i vremenu. Ali formalno identificirati objekte u okviru programa je teško (s filozofskim i teorijskog aspekta). Stoga, to je zbog svojih svojstava. Kao primjer, sljedeće: Objekt se može jednoznačno odrediti (sa jedinstvenim imenom), to je u određenoj državi i koristi određeni obrazac ponašanja.

nasljeđe

Budući da vaše programiranje se temelji na hijerarhijskoj zgrade stablo odnosa između objekata, postavlja se pitanje o tome da su prebačeni u osnovi svojstva vrste roditeljskog kod biblioteke. Pod nasljeđivanja razumijevanje odnosa kada je neko jednom ponavlja ponašanje i strukturu nešto drugo. U običnom životu, može se naći svuda. Kao što je odgođen i programiranje relativno apstraktnih elemenata. Kao usporedbu, činjenica da ne postoji takvo tijelo kao ptica. Ovo je apstraktna ime. Kao specifičan primjer dovesti čaj, Nightingale ili vrabac. Zahvaljujući nasljeđivanja možemo koristiti biblioteke klase, kao i da im se razvije za određeni program. Ovaj alat omogućuje nam stvaranje novih objekata, istovremeno dodavanje ili mijenja svojstva već stvorio. Nasljednik dobiva sve metode i polja svog pretka i stiče sopstvene atribute, ako je to potrebno. S obzirom na činjenicu da postoje apstraktne elemente i načela baštine, postoje brojne mogućnosti za modifikaciju u objektno orijentisano programiranje. Osim toga, omogućava fleksibilan pristup u rješavanju problema. Kada naslijediti novu klasu prenose podatke i funkcije.

polimorfizam

Potrebno je da se prijave na istu funkciju riješiti različite vrste problema. U ovom slučaju daje prisustvo mogućnost drugačijeg akcije, čiji sadržaj će ovisiti o vrsti objekta sa kojom posao je završen. Pod polimorfizam razumiju svojstva elemenata koji imaju zajednički roditelja, za obavljanje slično semantičko značenje problema na različite načine. Skrećemo analogiju sa životinjama. Postoji akcija - za pokretanje. Svi znamo kako se to dogodilo. Ali različitih životinja (lav, slon, čimpanza, krokodila, kornjača) ova akcija će se odvijati na različite načine. U ovom slučaju, njihovo kretanje je odgovoran programer, koji po potrebi može uzrokovati za određeni slučaj određenu rutinu, algoritam i uspješno provedbu. To se radi pomoću seta metoda. U isto vrijeme u svakoj klasi programer specificira koji objekat nekretnine koje su svojstvene. Mijenja nešto u potomstvo, možete postići specifične, željenu akciju u ovom slučaju. Takav efekt se naziva polimorfizam objekata. U principu, apstraktna klasa je izuzetno koristan alat za programiranje.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.unansea.com. Theme powered by WordPress.