DatamaskinerProgramvare

Abstrakt klasse og metode: beskrivelse, egenskaper og funksjoner. Hva er forskjellig fra den abstrakte klassen grensesnitt

Noen som har noen lite kunnskap i programmering, lurer på hvorfor det er abstrakte grunnklasser. Hva er hensikten? Hvordan lage en abstrakt klasse? Hva er fordelene de tilbyr i praksis? Hvorfor det er nødvendig i programmering og noen av funksjonene i gjennomføringen bør ta hensyn til?

abstrakte klasser

Så i programmerings kalt enhetskode på grunnlag av hvor objektene ikke kan opprettes. Det bemerkes at denne klassen av etterfølgere ikke kan være abstrakt. Derfor er fullt mulig etablering av objekter basert på dem. Hvis vi vurdere eksempel på Java, vi konstruere en modell som vi kan beskrive konstruktører i klasse A. Men for å bruke dem, kan vi ikke. Veien ut av denne situasjonen er å erklære en variabel referanse. Og du må være klart definert slik at den peker til et objekt av klasse A. Dette er hvordan det kan gjøres? Dette vil hjelpe oss gi. Det bør tas i betraktning at den overordnede klassen er alltid anses å være mer allsidig enn kommer. I mange programmeringsspråk som brukes til å bringe automatisk. Men hvis det ikke er tillit i nærvær av en slik mekanisme, må du eksplisitt referanse til objektet.

abstrakte fremgangsmåter

Hva er de? Abstract samtale disse metodene som ikke er implementert i denne klassen. Dermed følger parenteser (som viser de argumenter som anvendes deri) ikke gir formet åpning (hvoretter lokalisert blokk beskrivelse av fremgangsmåten), og bare et semikolon. Derfor, i dette tilfellet, er det ingen informasjon om hva det gjør. Her kan spørre: "Og hvilken metode uten gjennomføring?" Tross alt, er han ikke til å bli brukt! Of course, i klasserommet, der han ble beskrevet, er dette ikke mulig. Men hvis vi ser på situasjonen fra synspunkt av en etterkommer, kan det kalles. Og det vil operere på en spesifikk beskrivelse tilgjengelig i denne klassen.

Funksjoner abstrakte fremgangsmåter

Det er begrensninger i å bruke dem. La oss vurdere eksempel på programmeringsspråket Java. Det er et krav hvis den klasse har i det minste en slik metode må det være abstrakt. Og i alle fall er det hensiktsmessig å bruke en slik konstruksjon? La oss forstå dette med et eksempel klasse kjæledyr. For å begynne å forstå at det ikke er noen lyd som de publiseres. Derfor, i den mest generelle klassen er ikke satt lyd implementering av metoden. Men skapte kroppen som bortsett via blokker for ham. Og i det følgende, ved opprettelse av spann, katt eller hamster vil være foreskrevet en enkelt metode for det, innenfor rammen av disse vil bli gitt til alle funksjonene.

grensesnitt

I programmering skapt mange verktøy som har som formål - å hjelpe folk gjøre et godt kvalitetsprodukt. Og temaet under vurdering bør gis til dette aspektet, og at alle vet motsetning til en abstrakt klasse fra grensesnittet. Så, er den siste funksjonen at det ikke kan være egenskapene og metodene er ikke definert kropp. Ved å undersøke forskjellen mellom en abstrakt klasse fra grenseflaten, bør dvele mer på en. Således er det første er arvelig, mens den andre - er realisert. Uerfaren person dette kan virke ubetydelig. Men faktum er, som kan arves bare én klasse, og innså - så mye som nødvendig. Det er det som er forskjellig fra grensesnittet av den abstrakte klassen. Java er likevel de trekk at det kan beskrives bare abstrakt offentlige metoder og statiske konstanter. Men på samme grensesnitt kan også være arvelig. Det er nødvendig å påpeke at operatørene som brukes er offentlig via offentlig.

Multippel arv av grensesnitt

Denne funksjonen er ikke tilgjengelig for klasser i mange programmeringsspråk (for eksempel Java vurderes av oss). Dette skyldes en rekke problemer. Som slike uklarheter tyder på at forekommer i rekkefølge. Dette var bakgrunnen for innføringen av flere grensesnitt arv. Dette løser delvis eksisterende problemer, men ikke alle. Så takk til prinsippene for innkapsling og polymorfisme, grensesnitt kan implementert i forskjellige klasser i henhold til ulike metoder (selv om de vil ha samme navn). Men ikke glem de eksisterende problemer. Så vil når du arbeider med flere grensesnitt må alltid oppgi hvem vi har i tankene. Dessuten vil problemene være, og når du prøver å jobbe med samme navn på to måter - i dette tilfellet, vil de ikke være i stand til å dra nytte av. Derfor, i slike tilfeller er det nødvendig å ta vare på tilstedeværelsen av det totale salget.

abstrakte data

Dette konseptet er nøkkelen til programmet. I dette tilfellet under abstraksjon av uavhengig gjennomgang og forstå separasjon av grensesnitt og implementasjon. La oss se på et eksempel. Vi har en TV, noe som er et objekt eller modul. Den har et grensesnitt. Som sådan, de er kontrollene, samt lyd og bilde. Jo mer perfekt grensesnitt brukes, jo mer komfortabel TV-en i bruk. Vi kan bytte mellom programmer ved å trykke på en knapp. I dette tilfellet er det ikke nødvendig å tenke på de fysiske prosessene i TV. Ta vare på dem spesialister, som samler enheten. Vi liker folk bare er interessert i eiendommer. Retur til programmering, kan vi si at de er på et lignende grensesnitt og gjennomføring. Også, hvis en person er trygg i sin kunnskap, han kan "fjerne" dekke våre hypotetiske TV og å forbedre den. Selv om dette kan føre til lokal suksess, i de fleste tilfeller, er sluttresultatet negativt. Derfor, i støttede programmerings forbud mot tilgang og for å skjule interne komponenter abstrakte data. Prinsippet for denne mekanisme sørger for en måte å hindre tilsiktet eller utilsiktet justering av de innvendige komponenter. Og når vi snakker om abstrakte datatyper, gjennomsnittet av et sett med et sett av operasjoner som kan utføres på dem.

objekter

Vi har allerede sett en abstrakt klasse og grensesnitt generelt og generelt. La oss nå detalj vår kunnskap. Slik starter du ta hensyn stedene. Under dem, generelt, er klar over miljø virkeligheten som eksisterer i tid og rom. Men formelt identifisere objekter i programmet er vanskelig (med filosofisk og teoretisk synspunkt). Derfor er det på grunn av dens egenskaper. Som et eksempel, følgende: En gjenstand kan identifiseres (med et unikt navn), er det i en viss tilstand og bruker en viss mønster.

arv

Fordi programmeringen er basert på en hierarkisk tre å bygge relasjoner mellom objekter, er spørsmålet reist om det faktum at de underliggende eiendommene på typer av foreldre kode biblioteker ble overført. Under arv forstå forholdet når noen man gjentar oppførselen og struktur på noe annet. I vanlige livet, kan det bli funnet overalt. Slikt ble utsatt og programmering relativt abstrakte elementer. Som en sammenligning, det faktum at det ikke er slik kropp som en fugl. Dette er et abstrakt navn. Som et konkret eksempel bly te, Nightingale eller Sparrow. Takket være den arv vi kan bruke klassebiblioteker, samt å utvikle dem for et bestemt program. Dette verktøyet tillater oss å lage nye objekter, samtidig legge til eller endre egenskapene til en allerede opprettet. Heir får alle metoder og felt av hans forfedre og kjøper sine egne egenskaper, om nødvendig. På grunn av det faktum at det finnes abstrakte elementer, og prinsippet om arv, er det gode muligheter for modifikasjoner innenfor objektorientert programmering. I tillegg gir det en fleksibel tilnærming til å løse problemene. Når du arver en ny klasse av overførte data og funksjoner.

polymorfisme

Det er nødvendig å bruke den samme funksjonen for å løse ulike typer problemer. I dette tilfellet gir tilstedeværelsen av muligheten for en annen handling, vil innholdet av hvilken er avhengig av typen av objekt som arbeidet er gjort. Under polymorfisme forstå egenskapene til elementer som har en felles forelder, til å utføre tilsvarende den semantiske betydningen av problemet på forskjellige måter. Vi trekker en analogi med dyr. Det er handling - å kjøre. Vi vet alle hvordan det skjer. Men forskjellige dyr (løve, elefant, sjimpanse, krokodille, skilpadde) denne handlingen vil bli utført på forskjellige måter. I dette tilfellet er deres bevegelse ansvarlig utbygger, som om nødvendig kan føre til en bestemt sak en viss rutine, algoritme og gjennomføre det med hell. Dette gjøres ved hjelp av et sett med metoder. På samme tid i hver klasse programmerer spesifiserer hvilket objekt egenskaper som er iboende. Endre noe i avkom, kan du oppnå bestemt, ønsket handling i dette tilfellet. En slik effekt kalles polymorfisme av objekter. Generelt er en abstrakt klasse et svært nyttig verktøy for programmering.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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