KompiuteriaiPrograminė įranga

Abstrakčios klasės ir būdas: aprašymas, charakteristikos ir funkcijos. Kas skiriasi nuo abstrakčios klasės sąsaja

Kiekvienas, kuris turi kokią nors mažai žinių programavime, įdomu, apie tai, kodėl yra abstraktūs bazinių klasių. Koks jų tikslas? Kaip sukurti abstrakčią klasę? Kokie yra privalumai jie siūlo praktiškai? Kodėl jie reikalingi programavimo ir kai kurie jų įgyvendinimo funkcijos turėtų būti atsižvelgiama į?

abstrakčios klasės

Taigi programavimo vadinamas vieneto kodą, pagal kurį negali būti sukurtos objektus. Pažymėtina, kad šis įpėdiniams klasė negali būti abstraktus. Todėl objektų kūrimas remiantis jų yra visai įmanoma. Jei mes manome, kad "Java" Pavyzdžiui, mes statyti modelį, kad mes galime apibūdinti Konstruktorių į klasę A. Bet juos naudoti, mes negalime. Išeitis iš šios situacijos yra pripažinti bet kokį kintamąjį nuorodą. Ir jūs turite būti aiškiai apibrėžta, kad jis byloja apie A klasės objektą Tai kaip tai gali būti padaryta? Tai padės mums atneš. Reikėtų nepamiršti, kad patronuojanti klasė visada laikoma labiau universalus nei palikuonis. Daugelyje programavimo kalbų naudojamas suteikti automatiškai. Bet jei nėra tokio mechanizmo buvimas savimi, tada jūs turite aiškiai nuoroda į objektą.

abstrakčių

Kokie jie? Santrauka skambutis tie metodai, kurie nėra įgyvendinti šioje klasėje. Tokiu būdu, taip skliaustuose (kuriame išvardytos argumentus jame vartojamos) nesuteikia formos angą (po ko esančio bloko aprašymas metodas), ir tik kabliataškį. Taigi, šiuo atveju, nėra jokios informacijos apie tai, ką jis daro. Čia klausimas gali būti prašoma: "Ir koks metodas, be įgyvendinti?" Galų gale, jis negali būti naudojamas! Žinoma, klasėje, kur jis buvo aprašyta, tai neįmanoma. Bet jei mes manome, nuo Atsižvelgiant į palikuonis taško padėtį, jis gali būti vadinamas. Ir tai veiks konkrečiu aprašymo nėra šioje klasėje.

Ypatybės abstrakčių

Yra apribojimų juos naudoti. Leiskite apsvarstyti pavyzdį Java programavimo kalba. Yra reikalavimas, jei klasė turi bent vieną tokį metodą, ji turi būti abstraktus. Ir bet kuriuo atveju yra tikslinga naudoti tokią konstrukciją? Leiskite suprasti, tai su pavyzdys klasės augintiniai. Norėdami pradėti suprasti, kad nėra garso, kad jie būtų paskelbti. Todėl labiausiai bendro klasės nenustatytas garso įgyvendinimą metodu. Tačiau sukurta institucija, kuri, be per blokų jam. Ir toliau, kurdami šunų klasę, katė ar žiurkėnas bus nustatyta vieną būdą už jį, į sistemą, kurios bus atskleistos visos funkcijos.

sąsaja

Programavimo sukurta daug įrankių, kurių tikslas - padėti žmonėms padaryti kokybišką produktą. Ir pagal tai, tema turėtų būti skiriamas į šį aspektą, ir kad visi žino Skirtingai nuo abstrakčios klasės nuo sąsajos. Taigi, paskutinis bruožas yra tai, kad ji negali būti savybės ir metodai nėra apibrėžta kūną. Nagrinėjant tarp abstrakčios klasės skirtumas nuo sąsajos turėtų gyventi daugiau vieno konkretaus. Taigi, pirmasis yra paveldima, o antrasis - yra realizuotas. Nepatyrę žmogus tai gali atrodyti nereikšmingos. Tačiau faktas yra tai, kad gali būti paveldima tik vieną klasę, ir supratau, - tiek, kiek reikia. Tai yra tai, ką skiriasi nuo sąsajos abstrakčios klasės. "Java" vis dar yra funkcijos, kurios gali būti aprašyti tik abstrakti viešojo metodai ir statiniai konstantos. Tačiau tuo pačiu sąsajų taip pat gali būti paveldima. Būtina atkreipti dėmesį į tai, kad operatoriai naudojami yra vieši viešuoju.

Keli paveldėjimo sąsajų

Ši funkcija nėra prieinamas klasių daugelyje programavimo kalbų (pvz, "Java" svarstytų JAV). Tai yra dėl to, nemažai problemų. Kadangi tokios dviprasmybės rodo, kad atsiranda eilės. Tai buvo už kelių sąsajos paveldėjimo įvedimo priežastis. Tai iš dalies išsprendžia esamas problemas, tačiau ne visi. Taigi, dėka iš hermetizuoti ir polimorfizmo principus, sąsajos gali būti sėkmingai įgyvendinama skirtingose klasėse pagal įvairius metodus (nors jie turės tą patį pavadinimą). Tačiau nereikia pamiršti apie esamas problemas. Taigi, dirbdami su keliais sąsajų turės visada nurodyti, kas mes turime omenyje. Be to, šios problemos bus ir tada, kai bandote dirbti su to paties pavadinimo dviem būdais - šiuo atveju jie negalės pasinaudoti. Todėl tokiais atvejais būtina rūpintis visų pardavimų akivaizdoje.

Santrauka duomenys

Ši koncepcija yra raktas į programą. Tokiu atveju, pagal nepriklausomą peržiūrą abstrakcijos ir suprasti sąsają ir įgyvendinant atskyrimą. Pažvelkime į pavyzdį. Mes turime televizorius, kuris yra objektas ar modulis. Jis turi sąsają. Kaip, pavyzdžiui, jie yra kontrolė, taip pat garso ir vaizdo. Kuo daugiau puikus sąsaja naudojama, tuo daugiau patogiai naudojamu televizija. Mes galime perjungti programas, paspausdami bet kurį mygtuką. Tokiu atveju nėra reikalo galvoti apie fizinius procesus televizoriaus. Rūpintis jais specialistai, rinkti įrenginį. Mums patinka žmonės domisi tik savybių. Grįžtant prie programavimo, mes galime pasakyti, kad jie yra panašaus sąsaja ir įgyvendinimą. Be to, jei asmuo yra įsitikinę savo žiniomis, jis gali "pašalinti" padengti mūsų hipotetinis TV ir ją pagerinti. Nors tai gali sukelti vietinės sėkmės, daugeliu atvejų, galutinis rezultatas yra neigiamas. Todėl, atsižvelgiant į remiamų programavimo draudimo prieigos ir paslėpti vidaus komponentus abstrakčiais duomenimis. Šio mechanizmo principas numato būdas užkirsti kelią tyčiniam ar netyčia koreguoti vidinių komponentų. Ir kai kalbame apie abstrakčių duomenų tipų, iš nuo A operacijų, kurios gali būti atliekamos jų rinkiniu vidurkis.

objektai

Mes jau matėme, abstrakčios klasės ir sąsajos apskritai ir apskritai. Dabar tegul detalė mūsų žiniomis. Norėdami pradėti atkreipti dėmesį objektus. Žemiau jų apskritai suvokia aplinkos realybę, kad egzistuoja erdvėje ir laike. Tačiau formaliai nustatyti objektus pagal programą yra sunku (su filosofiniu ir teoriniu požiūriu). Todėl dėl savo savybių. Pavyzdžiui, taip: objektas gali būti unikaliai identifikuojamos (su unikaliu pavadinimu), tai tam tikra valstybės ir naudoja tam tikrą modelį, elgesį.

paveldėjimas

Kadangi jūsų programavimas remiasi hierarchine medis kurti santykius tarp objektų, keliamas klausimas apie tai, kad pagrindiniai savybės iš tėvų kodas bibliotekų tipus buvo perduoti. Pagal paveldėjimo suprasti santykius, kai kas nors vienas kartoja elgesį ir struktūrą kažkas. Be įprastos gyvenimo, jį galima rasti visur. Toks buvo atidėtas ir programavimo gana abstrakčius elementus. Palyginimui, tai, kad nėra tokio kūno kaip paukštis. Tai yra abstraktus pavadinimas. Kaip konkrečiu atveju veda arbatos, Lakštingala ar žvirblis. Ačiū, kad paveldėjimo mes galime naudoti klasės bibliotekas, taip pat plėtoti juos tam tikros programos. Šis įrankis leidžia mums sukurti naujus objektus, tuo pačiu metu papildydami ar keisdami atsižvelgia ir į jau sukurtas savybes. Įpėdinis gauna visas metodus ir laukus jo protėvio ir įgyja savo atributus, jei reikia. Dėl to, kad ten yra abstraktūs elementai ir paveldo principas, yra daug galimybių modifikacijos per Objektinis programavimas. Be to, ji leidžia taikyti lankstų požiūrį į problemų sprendimo. Kai paveldės naują klasę perduotų duomenų ir funkcijų.

polimorfizmas

Būtina taikyti tą pačią funkciją spręsti įvairias problemas. Šiuo atveju pateikiama apie skirtingų veiksmų galimybės buvimą, kurio turinys bus priklauso nuo objekto tipo, su kuria darbas. Pagal polimorfizmo suprasti elementų, kurie turi bendrą tėvų, atlikti panašus į semantinio prasme įvairiais būdais problemą savybes. Mes atkreipti su gyvūnais analogiją. Yra veiksmas - paleisti. Mes visi žinome, kaip tai atsitinka. Bet skirtingi gyvūnai (liūtas, dramblys, šimpanzė, krokodilas, vėžlys) šis veiksmas bus atliekamas įvairiais būdais. Šiuo atveju jų judėjimas yra atsakingas kūrėjas, kuris, jei reikia, gali sukelti tam tikrą atveju tam tikra rutina, algoritmas ir ją įgyvendinti sėkmingai. Tai daroma naudojant metodus rinkinį. Tuo pačiu metu kiekvienoje klasėje programuotojas nurodoma, kurie objekto savybių, kurios yra neatskiriama. Pakeitus kažką palikuonių, jūs galite pasiekti konkrečią pageidaujamą veiksmą, šiuo atveju. Toks poveikis yra vadinamas polimorfizmas objektų. Apskritai, abstrakti klasė yra labai naudingas įrankis programavimui.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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