DatorerProgramvara

Abstrakt klass och metod: beskrivningen, egenskaper och funktioner. Vad skiljer sig från den abstrakta klassen gränssnittet

Någon som har någon liten kunskap i programmering, undrar om varför det är abstrakta basklasser. Vad är syftet? Hur man skapar en abstrakt klass? Vilka är fördelarna de erbjuder i praktiken? Varför de behövs i programmering och vissa funktioner i deras genomförande bör beakta?

abstrakta klasser

Så i programmering kallas enhetskoden på grundval av vilka inte kan skapas objekten. Det noteras att denna klass av efterträdare inte kan vara abstrakta. Därför är fullt möjligt att skapa föremål baserat på dem. Om vi betraktar exemplet med Java, vi konstruera en modell som vi kan beskriva konstruktörer i klassen A. Men att använda dem, kan vi inte. Vägen ut ur denna situation är att deklarera en variabel referens. Och du måste vara tydligt definierade så att den pekar på ett objekt av klassen A. Detta är hur det kan göras? Detta kommer att hjälpa oss att medföra. Man bör komma ihåg att den överordnade klassen alltid anses vara mer mångsidig än ättling. I många programmeringsspråk som används för att föra automatiskt. Men om det inte finns något förtroende i närvaro av en sådan mekanism, då måste du uttryckligen referera till objektet.

abstrakta metoder

Vilka är de? Abstract samtal de metoder som inte genomförs i den här klassen. Sålunda, efter parentes (som listar de argument som används däri) inte ger formade öppningen (varpå belägen blocket beskrivning av metoden), och endast ett semikolon. Således, i detta fall finns det ingen information om vad den gör. Här frågan kan ställas: "Och vilken metod utan genomförande?" När allt kommer omkring, att han inte ska användas! Naturligtvis i klassrummet, där han beskrevs, är detta inte möjligt. Men om vi betraktar situationen ur synvinkel av en ättling, kan det kallas. Och det kommer att fungera på en specifik beskrivning finns i den här klassen.

Funktioner abstrakta metoder

Det finns begränsningar i att använda dem. Låt oss betrakta exemplet med programmeringsspråket Java. Det är ett krav om klassen har åtminstone en sådan metod, måste det vara abstrakta. Och i vilket fall som helst är det lämpligt att använda en sådan konstruktion? Låt oss förstå detta med ett exempel klass husdjur. Till att börja förstå att det inte finns något ljud som de publiceras. Därför, i den mest allmänna klassen inte är inställd sunt genomförande av metoden. Men skapade organ som förutom via block för honom. Och i det följande kommer när man skapar hund klass, katt eller hamster förskrivas en enda metod för det, inom ramen för vilka kommer att lämnas ut till alla funktioner.

gränssnitt

I programmerings skapat många verktyg vars syfte - att hjälpa människor att göra en god kvalitet. Och ämnet under behandling bör ges denna aspekt, och att alla vet Till skillnad från en abstrakt klass från gränssnittet. Så är det sista funktion som det inte kan vara egenskaper och metoder är inte definierade kropp. Genom att undersöka skillnaden mellan en abstrakt klass från gränssnittet ska bo mer på ett synnerhet. Sålunda är den första ärvs, medan den andra - realiseras. Oerfaren person kan detta tyckas oviktiga. Men faktum är, som kan ärvas endast en klass, och insåg - så mycket som behövs. Det är det som är annorlunda från gränssnittet för abstrakt klass. Java är fortfarande de funktioner som den kan beskrivas endast abstrakt publika metoder och statiska konstanter. Men på samma gränssnitt kan också ärvas. Det är nödvändigt att påpeka att operatörerna som används är allmänheten via offentliga.

Multipelt arv av gränssnitt

Den här funktionen är inte tillgänglig för klasser i många programmeringsspråk (t.ex. Java anses av oss). Detta beror på ett antal problem. Som sådana oklarheter tyder på att inträffa i följd. Detta var anledningen till att införa flera gränssnitt arv. Detta löser delvis de befintliga problemen, men inte alla. Så, tack vare principerna för inkapsling och polymorfism, gränssnitt kan genomföras framgångsrikt i olika klasser enligt olika metoder (även om de kommer att ha samma namn). Men glöm inte om de befintliga problemen. Så när man arbetar med flera gränssnitt måste alltid ange vem vi har i åtanke. Dessutom kommer problemen att vara och när du försöker att arbeta med samma namn på två sätt - i det här fallet, kommer de inte att kunna dra nytta av. Därför är det i sådana fall nödvändigt att ta hand om förekomsten av den totala försäljningen.

abstrakt data

Detta koncept är nyckeln till programmet. I det här fallet, enligt uttag av oberoende granskning och förstå separation av gränssnittet och genomförande. Låt oss titta på ett exempel. Vi har en TV, som är ett objekt eller modul. Den har ett gränssnitt. Som sådana är de kontrollerna, samt ljud och bild. Ju mer perfekt gränssnitt används, desto mer bekväm TV som används. Vi kan växla mellan program genom att trycka på någon knapp. I detta fall finns det ingen anledning att tänka på de fysikaliska processerna i TV: n. Ta hand om dem specialister, som samlar enheten. Vi gillar människor är bara intresserade av fastigheter. För att återgå till programmeringen, kan vi säga att de är på ett liknande gränssnitt och genomförande. Även om en person är säker i sin kunskap, han kan "ta bort" täcka vår hypotetiska TV och för att förbättra den. Även om detta kan leda till lokal framgång i de flesta fall är slutresultatet negativt. Därför, i förbudet stöds programmering av tillgång och för att dölja de inre komponenterna av abstrakta data. Principen för denna mekanism ger ett sätt att förhindra avsiktlig eller oavsiktlig justering av de interna komponenterna. Och när man talar om abstrakta datatyper, medelvärdet av en uppsättning av en uppsättning av operationer som kan utföras på dem.

föremål

Vi har redan sett en abstrakt klass och gränssnitt i allmänhet och allmänhet. Nu detalj vår kunskap. För att starta uppmärksamma objekt. Nedanför dem i allmänhet medvetna om miljö verklighet som existerar i tid och rum. Men formellt identifiera objekt i programmet är svårt (med den filosofiska och teoretisk synvinkel). Därför är det på grund av dess egenskaper. Som ett exempel, följande: Ett objekt kan vara identifieras (med ett unikt namn), är det i ett visst tillstånd och använder ett visst mönster av beteende.

arv

Eftersom din programmering är baserad på en hierarkisk träd bygga relationer mellan objekt, är frågan om det faktum att de underliggande egenskaperna hos de typer av föräldra kodbibliotek fördes. Under arv förstå förhållandet när någon en upprepar beteende och struktur på något annat. I vanliga livet, kan det finnas överallt. Sådan sköts upp och programmering relativt abstrakta element. Som jämförelse kan nämnas att det faktum att det inte finns något sådant organ som en fågel. Detta är en abstrakt namn. Som ett specifikt exempel leda te, Nightingale eller sparv. Tack vare arv kan vi använda klassbibliotek, liksom att utveckla dem för ett visst program. Detta verktyg gör det möjligt för oss att skapa nya objekt samtidigt lägga till eller ändra egenskaperna hos ett redan skapat. Heir får alla metoder och fält av hans förfader och förvärvar sina egna attribut, om det behövs. På grund av det faktum att det är abstrakta element och principen om arv, finns det goda möjligheter för modifiering inom objektorienterad programmering. Dessutom tillåter det en flexibel inställning till att lösa problem. När du ärva en ny klass av överförda data och funktioner.

polymorfism

Det är nödvändigt att tillämpa samma funktion för att lösa olika typer av problem. I detta fall ger närvaron av möjligheten att en annan åtgärd, kommer innehållet i vilka beror på vilken typ av objekt med vilken arbetet utförs. Under polymorfism förstå egenskaperna hos element som har en gemensam förälder, för att utföra liknande den semantiska innebörden av problemet på olika sätt. Vi drar en analogi med djur. Det finns åtgärder - att köra. Vi vet alla hur det händer. Men olika djur (lejon, elefant, schimpans, krokodil, sköldpadda) denna åtgärd kommer att genomföras på olika sätt. I detta fall är deras rörelse ansvarig utvecklare, som vid behov kan leda till ett visst fall en viss rutin, algoritm och genomföra det med framgång. Detta görs med hjälp av en uppsättning metoder. Samtidigt i varje klass programmeraren specificerar vilket objekt egenskaper som är inneboende. Ändra något i avkomman, kan du uppnå specifika, önskad åtgärd i detta fall. En sådan effekt kallas polymorfism av objekt. I allmänhet är en abstrakt klass ett mycket användbart verktyg för programmering.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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