KompjûtersSoftware

Abstract klasse en metoade: de beskriuwing, karakteristiken en skaaimerken. Wat oars is út de abstrakt klasse ynterface

Elkenien dy't hat gjin lytse kennis yn programmearring, benijd oer wêrom't der de abstrakte basis klassen. Wat is har doel? Hoe te meitsjen in abstrakt klasse? Wat binne de foardielen se offerje yn 'e praktyk? Wêrom se nedich binne yn programmearring en guon funksjes fan harren útfiering moat rekken hâlden wurde?

abstrakte klassen

Sa yn de programmearring neamd unit koade op basis wêrfan de objekten kinne net oanmakke wurde. It wurdt opmurken dat dizze klasse fan de opfolgers kin net wêze abstrakt. Dêrom, de skepping fan objekten op grûn dêrfan is it hiel goed mooglik. As wy beskôgje it foarbyld fan Java, wy oanlizze in model dat wy kinne beskriuwe de konstrukteurstitel yn 'e klasse A. Mar te brûken se, we kinne it net. De wei út dy sitewaasje is te ferklearje gjin fariabele referinsje. En jim moatte wurde dúdlik omskreaun sa dat it wiist nei in objekt fan klasse A. Dit is hoe't it kin dien wurde? Dit sil helpe ús bringe. Dêrby moat betocht dat de âlder klasse wurdt altyd sjoen te wêzen mear alsidich as de neisiet. Yn in soad programmearring talen brûkt te bringen automatysk. Mar as der gjin betrouwen yn 'e oanwêzigens fan sa'n mechanisme, dan moatte jo eksplisyt Ingelân ferwize nei de foarwerp.

abstrakte metoaden

Wat binne se? Abstract oprop dy metoaden dy't net útfierd yn dizze klasse. Sa, folgjende heakjes (wat jout de arguminten brûkt dêryn) net jaan foarmige iepening (wêrnei't leit blok beskriuwing fan 'e metoade), en mar in puntkomma. Sa, yn dit gefal, der is gjin ynformaasje oer wat it docht. Hjir de fraach kin frege: "En wat metoade sûnder útfiering?" Ommers, hy is net te brûkt wurde! Fansels, yn it lokaal, dêr't er wie beskreaun, dat is net mooglik. Mar as wy beskôgje de situaasje út it eachpunt fan in neisiet, kin neamd wurde. En dan sil funksjonearje op in spesifyk beskriuwing beskikber yn dizze klasse.

Features abstrakte metoaden

Der binne beheinings yn gebrûk fan harren. Litte wy beskôgje it foarbyld fan de programmeartaal Java. Der is in eask as de klasse hat op syn minst ien sa'n metoade, it moat wêze abstrakt. En yn alle gefallen is it passend te brûken sa'n konstruksje? Litte wy begripe dit mei in foarbyld klasse pets. Om te begjinnen om te begripen, dat der gjin lûd dat se wurde publisearre. Dêrom, yn 'e meast algemiene klasse wurdt net ynsteld lûd ymplemintaasje fan de metoade. Mar makke liif dat apart fia blokken foar him. En yn 'e neikommende, doe't it meitsjen hûn klasse, kat of hamster wurdt foarskreaun ien metoade derfoar, yn it ramt dêrfan wurdt bekend makke oan alle funksjes.

ynterface

Yn programmearring makke in protte ark waans doel - te helpen minsken meitsje in goede kwaliteit produkt. En it ûnderwerp yn behanneling moat jûn wurde oan dit aspekt, en dat elkenien wit Oars as in abstrakt klasse fan de ynterface. Sa, de lêste funksje is dat it kin net de eigenskippen en metoaden binne net definiearre lichem. By de behanneling fan it ferskil tusken in abstrakt klasse fan de ynterface, wenje scoene mear op ien bepaald. Sa, de earste wurdt erfde, wylst it twadde - wurdt realisearre. Unbedreaune persoan dit kin lykje bysaak. Mar it feit is, dat kin wurde erfde mar ien klasse, en realisearre - safolle nedich. Dat is wat oars as de ynterface fan de abstrakte klasse. Java is noch altyd de funksjes dat it kin omskreaun wurde allinne abstrakte iepenbiere metoaden en statyske konstanten. Mar op itselde Schnittstellen kinne ek erve. It is nedich om op attindearje dat de operators brûkt binne iepenbier fia iepenbier.

Meardere erfskip fan Schnittstellen

Dizze funksje is net beskikber foar klassen yn in protte programmearring talen (bgl, Java beskôge troch ús). Dit komt troch in tal problemen. As sokke ambiguities jouwe oan dat foarkomme efterinoar. Dat wie de reden foar it ynfieren fan meardere ynterface erfskip. Dit part lost de besteande problemen, mar net alles. Dus, tank oan de begjinsels fan encapsulation en polymorphism, Schnittstellen kinne wurde mei súkses útfierd yn ferskillende klassen neffens ferskate metoaden (hoewol't sy sille hawwe deselde namme). Mar ferjit net oer de besteande problemen. Dus, doe't wurkjen mei meardere Schnittstellen sille moatte altyd oantsjutte wa't wy hawwe foar eagen. Ek de problemen sille wêze en as jo besykje te wurkjen mei deselde namme yn twa manieren - yn dit gefal, hja sil net by steat wêze om te profitearje fan. Dêrom, yn sokke gefallen is it nedich om te soargjen foar de oanwêzichheid fan totale ferkeap.

abstrakt data

Dit konsept is kaai ta programma. Yn dit gefal, ûnder de abstraksje fan ûnôfhinklike resinsje en begripe de skieding fan ynterface en útfiering. Litte we ris in foarbyld. Wy hawwe in televyzje, dat is in foarwerp of module. It hat in ynterface. As sadanich, se binne de kontrôles, likegoed as lûd en byld. De folsleiner interface brûkt wurdt, it nofliker de TV yn gebrûk. Wy kinne wikselje tusken programma troch drukken eltse knop. Yn dat gefal is der gjin needsaak om te tinken oer it fysike prosessen yn 'e TV. Nim soarch fan harren spesjalisten, dy't sammelje it apparaat. Wy as minsken binne allinnich ynteressearre yn eigenskippen. Werom nei de programmearring, kinne wy sizze dat se op in fergelykbere interface en útfiering. Ek, as ien persoan hat selsbetrouwen yn syn kennis, hy kin "fuortsmite" cover ús hypotetysk TV en it better te krijen. Hoewol't dit kin liede ta lokale súkses, yn de measte gefallen, de ein resultaat is negatyf. Dêrom, yn 'e stipe programmearring ferbod fan tagong en te ferbergjen de ynterne ûnderdielen fan abstrakte gegevens. It prinsipe fan dit meganisme foarskriuwt dat in manier om te kommen dat de tefoaren of ûnfrijwillige oanpassing fan de ynterne komponinten. En as it oer abstrakte gegevens typen, it gemiddelde fan in set fan in set fan operaasjes dy't útfierd wurde op harren.

foarwerpen

Wy hawwe al sjoen in abstrakt klasse en ynterface yn it algemien en it algemien. No litte wy detail it ús kennis. Om start pay attention foarwerpen. Ûnder harren, yn it algemien, bewust fan it miljeu realiteit dy't bestiet yn romte en tiid. Mar formeel identifisearjen objekten binnen it programma lestich is (mei de filosofyske en teoretysk eachpunt). Dêrom is it fanwege har eigenskippen. As foarbyld, de neikommende: In foarwerp kin in hiel bysûndere wize identifisearre (mei in unike namme), it is yn in beskate steat en brûkt in beskate patroan fan gedrach.

erfenis

Sûnt jo programmearring is basearre op in hiërargyske beam gebou relaasjes tusken foarwerpen, de fraach nei foaren brocht wurdt oer it feit dat de ûnderlizzende eigenskippen fan 'e types fan âlderlike koade biblioteken waarden oerbrocht. Under fererving begripe de relaasje doe't immen men werhellet it gedrach en de struktuer fan wat oars. Yn gewoane libben, kin fûn wurde oeral. Sokke waard útsteld en programmapartners relatyf abstrakte eleminten. As ferliking, it feit dat der gjin sa'n liif as in fûgel. Dit is in abstrakt namme. As in spesifyk eksimplaar liede tee, Nightingale of mosk. Mei tank oan it erfskip kinne wy brûke de klasse biblioteken, en ek te ûntwikkeljen se foar in bepaald programma. Dit ark kinne ús te meitsjen nije foarwerpen, tagelyk it taheakjen of feroarjen fan de eigenskippen fan in al makke. Erfgenamt krijt alle metoaden en de fjilden fan syn foarfaar en kriget syn eigen attributen, as it nedich is. Fanwege it feit dat der abstrakte eleminten en it prinsipe fan erfgoed, binne der romme mooglikheden foar oanpassing binnen it foarwerp-oriïntearre programmearring. Boppedat, it jout in fleksibele oanpak fan it oplossen fan problemen. As jo ervje in nije klasse fan oerdroegen gegevens en funksjes.

polymorphism

It is needsaaklik om te passen deselde funksje te oplosse ferskillende typen fan problemen. Yn dit gefal jout de oanwêzigens fan 'e mooglikheid fan in oare hanneling, de ynhâld fan dat sil ôfhingje fan it type foarwerp mei hokker wurk wurdt dien. Under polymorphism begripe de eigenskippen fan de eleminten dy't hawwe in mienskiplike âlder, te fieren fergelykber mei de semantyske betsjutting fan it probleem op ferskate wizen. Wy lûke in analogy mei bisten. Der is aksje - te rinne. Wy allegear witte hoe't it bart. Mar ferskate bisten (liuw, oaljefant, chimpanzee, Crocodile, Turtle) dizze aksje wurdt útfierd yn ferskillende wizen. Yn dit gefal, harren beweging is ferantwurdlik ûntwikkelders, dy't as it nedich is kin soargje foar in bepaalde saak in sekere rûtine, algoritme en útfieren fan dat sukses. Dat wurdt dien mei help fan in set fan metoaden. Tagelyk yn eltse klasse programmeur omskriuwt hokker object eigenskippen dy't besletten leit. It feroarjen wat yn 'e neiteam, kinne jo berikke spesifike, ferlange aksje yn dit gefal. Sa'n effekt hjit polymorphism fan objekten. Yn it algemien, in abstrakt klasse is in ekstreem handich helpmiddel foar programmearring.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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