KompjutersSoftwer

Klassi astratta u metodu: id-deskrizzjoni, karatteristiċi u karatteristiċi. X'inhu differenti mill-interface klassi astratt

Kull min għandu xi ftit għarfien fl-ipprogrammar, jistaqsi dwar għaliex hemm diversi klassijiet bażi astratta. X'inhu l-iskop tagħhom? Kif toħloq klassi astratt? X'inhuma l-vantaġġi li joffru fil-prattika? Għaliex huma meħtieġa fl-ipprogrammar u xi karatteristiċi tal-implimentazzjoni tagħhom għandhom jieħdu kont?

klassijiet astratti

Għalhekk fl-ipprogrammar talab kodiċi ta 'unità fuq bażi tiegħu l-oġġetti ma jistgħux jiġu maħluqa. Huwa nnutat li din il-klassi ta 'suċċessuri ma tistax tkun astratta. Għalhekk, il-ħolqien ta 'oġġetti ibbażata fuqhom huwa kompletament possibbli. Jekk nikkunsidraw l-eżempju ta 'Java, aħna tibni mudell li nistgħu jiddeskrivu l-kostrutturi fil-klassi A. Iżda biex jużawhom, ma nistgħux. Il-mod minn din is-sitwazzjoni huwa li jiddikjara kwalunkwe referenza varjabbli. U inti għandek bżonn li jiġu definiti b'mod ċar sabiex jindika li oġġett ta 'klassi A. Din hija kif dan jista' jsir? Dan għandu jgħina iġib. Wieħed għandu jżomm f'moħħu li l-klassi ġenitur huwa dejjem meqjus bħala aktar versatili milli l-dixxendent. Fil-lingwi ta 'programmar ħafna użati biex iġibu awtomatikament. Iżda jekk ma jkunx hemm kunfidenza fil-preżenza ta 'tali mekkaniżmu, allura inti trid espliċitament referenza għall-oġġett.

metodi astratti

Liema huma? sejħa astratt dawk il-metodi li mhumiex implimentati f'din il-klassi. Għalhekk, parentesi wara (li jelenka l-argumenti użati fihom) ma jagħtux ftuħ forma (f'liema każ deskrizzjoni blokk tinsab tal-metodu), u biss virgola. Għalhekk, f'dan il-każ, m'hemmx informazzjoni dwar dak li tagħmel. Hawnhekk il-kwistjoni jista 'jiġi mistoqsi: "U dak il-metodu mingħajr implimentazzjoni?" Wara kollox, huwa m'għandux jintuża! Naturalment, fil-klassi, fejn kien deskritt, dan ma jkunx possibbli. Iżda jekk nikkunsidraw is-sitwazzjoni mill-perspettiva ta 'dixxendent, jista' jissejjaħ. U se jopera fuq deskrizzjoni speċifika disponibbli f'din il-klassi.

Karatteristiċi metodi astratti

Hemm limitazzjonijiet fl-użu tagħhom. Ejja jikkunsidraw l-eżempju tal -lingwa ta 'programmar Java. Hemm rekwiżit jekk l-klassi jkollha anqas metodu wieħed tali, għandu jkun astratt. U f'kull każ huwa xieraq li jintuża tali kostruzzjoni? Ejja jifhmu dan ma 'annimali domestiċi eżempju klassi. Biex jibdew jifhmu li m'hemm l-ebda ħoss li dawn jiġu ppubblikati. Għalhekk, fil-klassi l-aktar ġenerali mhuwiex stabbilit implimentazzjoni soda tal-metodu. Imma ġisem maħluqa li apparti permezz blokki għalih. U f'dawn li ġejjin, meta jinħoloq klassi kelb, qattus jew ħamster se jiġi preskritt metodu wieħed għal dan, fil-qafas li fih se jkunu żvelati lill-karatteristiċi kollha.

interface

Fl-ipprogrammar ħoloq ħafna għodod li l-għan - biex tgħin lin-nies jagħmlu prodott ta 'kwalità tajba. U l-tema taħt konsiderazzjoni għandha tingħata għal dan l-aspett, u li kulħadd jaf B'differenza klassi astratt mill-interface. Allura, l-aħħar karatteristika hija li ma jistax jiġi l-proprjetajiet u l-metodi mhumiex definiti ġisem. Billi teżamina d-differenza bejn klassi astratt mill-interface, jekk nitkellem aktar fuq waħda partikolari. Għalhekk, l-ewwel huwa wiret, u t-tieni - hija rrealizzata. persuna mingħajr esperjenza dan jista 'jidher ebda sinifikat. Imma l-fatt hu, li jista 'jintiret wieħed biss klassi, u induna - kemm ikun meħtieġ. Dan huwa dak li hu differenti mill-interface tal-klassi astratt. Java għadu l-karatteristiċi li jista 'jiġi deskritt biss il-metodi pubbliċi u kostanti statika astratt. Iżda fl-istess interfaces jistgħu wkoll jiġu wiret. Huwa neċessarju li jiġi rrilevat li l-operaturi użati huma pubbliċi permezz pubbliku.

wirt multipli ta 'interfaces

Din il-karatteristika ma tkunx disponibbli għall-klassijiet fil-lingwi ta 'programmar ħafna (eż Java meqjusa mill us). Dan huwa dovut għal numru ta 'problemi. Bħala tali ambigwitajiet jindikaw li jseħħu wara xulxin. Dan kien ir-raġuni għall-introduzzjoni ta 'wirt interface multipli. Dan isolvi parzjalment il-problemi eżistenti, iżda mhux kollha. Allura, grazzi għall-prinċipji ta 'inkapsulament u polimorfiżmu, interfaces jistgħu jiġu implimentati b'suċċess fil-klassijiet differenti skond il-metodi varji (għalkemm dawn se jkollhom l-istess isem). Imma ma ninsewx dwar il-problemi eżistenti. Allura, meta jaħdmu ma 'interfaces multipli se jkollhom dejjem jispeċifikaw li għandna fil-moħħ. Ukoll, il-problemi se jkun u meta inti tipprova taħdem bl-istess isem b'żewġ modi - f'dan il-każ, dawn mhux se jkunu jistgħu jieħdu vantaġġ minnhom. Għalhekk, f'każijiet bħal dawn huwa meħtieġ li jieħu ħsieb il-preżenza tal-bejgħ totali.

data astratta

Dan il-kunċett huwa essenzjali għall-programm. F'dan il-każ, taħt il-estrazzjoni ta 'reviżjoni indipendenti u jifhmu s-separazzjoni tal-interface u l-implimentazzjoni. Ejja nħarsu lejn eżempju. Għandna televiżjoni, li huwa oġġett jew modulu. Hija għandha interface. Bħala tali, dawn huma l-kontrolli, kif ukoll tal-ħoss u l-immaġni. L-interface aktar perfetta hija użata, l-aktar komda l-TV fl-użu. Nistgħu jaqilbu bejn il-programmi billi tagħfas xi buttuna. F'dan il-każ, m'hemmx bżonn li wieħed jaħseb dwar il-proċessi fiżiċi fil-TV. Jieħdu ħsiebhom speċjalisti, li jiġbru l-apparat. Aħna bħal nies huma interessati biss fil-proprjetajiet. Jirritornaw lejn il-programmazzjoni, nistgħu ngħidu li huma fuq interface u l-implimentazzjoni simili. Ukoll, jekk persuna tkun kunfidenti fl-għarfien tiegħu, huwa jista ' "tneħħi" tkopri TV ipotetiku tagħna u biex tittejjeb. Għalkemm dan jista 'jwassal għas-suċċess lokali, f'ħafna każijiet, ir-riżultat aħħari huwa negattiv. Għalhekk, fil-projbizzjoni ipprogrammar appoġġat 'aċċess u biex jaħbu l-komponenti interni ta' informazzjoni ġenerali u astratta. Il-prinċipju ta 'dan il-mekkaniżmu jipprovdi għal mod biex jipprevjenu l-aġġustament intenzjonat jew mhux intenzjonat tal-komponenti interni. U meta wieħed jitkellem dwar it-tipi ta 'data astratta, il-medja ta' sett ta 'sett ta' operazzjonijiet li jistgħu jitwettqu fuqhom.

oġġetti

Diġà rajna klassi astratt u interface b'mod ġenerali u ġenerali. Issa ejja dettall l-għarfien tagħna. Biex tibda attenzjoni oġġetti paga. Taħthom, b'mod ġenerali, konxji tal-verità ambjentali li teżisti fl-ispazju u l-ħin. Iżda tidentifika formalment oġġetti fi ħdan il-programm huwa diffiċli (bl-punt filosofiku u teoretika ta 'opinjoni). Għalhekk, huwa minħabba l-proprjetajiet tiegħu. Bħala eżempju, dawn li ġejjin: Oġġett tista 'tiġi identifikata b'mod uniku (ma' isem uniku), huwa fi stat partikolari u juża ċertu mudell ta 'mġiba.

wirt

Peress programmazzjoni tiegħek huwa bbażat fuq ir-relazzjonijiet ġerarkiċi bini siġra bejn oġġetti, il-kwistjoni titqajjem dwar il-fatt li l-proprjetajiet sottostanti tat-tipi ta 'libreriji kodiċi ġenituri ġew trasferiti. Taħt wirt jifhmu r-relazzjoni meta xi ħadd wieħed jirrepeti l-imġieba u l-istruttura ta 'xi ħaġa oħra. Fil-ħajja ordinarja, li jista 'jinstab kullimkien. Tali ġiet posposta u l-ipprogrammar elementi relattivament astratta. Bħala paragun, il-fatt li m'hemmx korp bħal bħal għasfur. Dan huwa l-isem astratt. Bħala eżempju speċifiku jwassal tè, Nightingale jew Sparrow. Grazzi għall-wirt nistgħu nużaw l-libreriji klassi, kif ukoll biex jiżviluppaw lilhom għal programm partikolari. Din l-għodda jippermetti li tinħoloq oġġetti ġodda, simultanjament żżid jew jibdlu il-proprjetajiet ta 'li diġà maħluqa. Werriet gets kollha l-metodi u l-oqsma ta 'antenat tiegħu u jikseb attributi tagħha stess, jekk ikun meħtieġ. Minħabba l-fatt li hemm elementi astratti u l-prinċipju tal-wirt, hemm bosta opportunitajiet għall-modifika fl-ipprogrammar oġġett orjentati lejn. Barra minn hekk, jippermetti approċċ flessibbli biex isolvi problemi. Meta inti jirtu klassi ġdida ta 'data u l-funzjonijiet trasferita.

polimorfiżmu

Huwa meħtieġ li tiġi applikata l-istess funzjoni biex issolvi tipi differenti ta 'problemi. F'dan il-każ jipprovdi l-preżenza tal-possibbiltà ta 'azzjoni differenti, il-kontenut tiegħu se jiddependi mit-tip ta' oġġett li xogħol isir. Taħt polimorfiżmu jifhmu l-proprjetajiet ta 'elementi li għandhom ġenitur komuni, biex iwettqu simili għall-tifsira semantika tal-problema b'modi differenti. Aħna tagħmel analoġija ma 'annimali. Hemm azzjoni - jiddekorri. Ilkoll nafu kemm dan jiġri. Iżda annimali differenti (iljun, iljunfant, Ximpanzi, kukkudrill, Fekruna) din l-azzjoni se titwettaq b'modi differenti. F'dan il-każ, il-moviment tagħhom huwa iżviluppatur responsabbli, li jekk ikun meħtieġ jista 'jikkawża għal każ partikolari ta' rutina ċerti, algoritmu u implimentata b'suċċess. Dan isir permezz ta 'sett ta' metodi. Fl-istess ħin f'kull programmer klassi jispeċifika liema toġġezzjona proprjetajiet li huma inerenti. Nibdlu xi ħaġa fil-frieħ, inti tista 'tikseb speċifiku, l-azzjoni mixtieqa f'dan il-każ. Effett bħal dan jissejjaħ polimorfiżmu ta 'oġġetti. B'mod ġenerali, klassi astratt huwa għodda utli ħafna għall-ipprogrammar.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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