Skip to main content

Vad är en abstrakt klass?

I objektorienterad programmering tillhandahåller en abstrakt klass en basklass som kan användas för att ge andra klasser partiell implementering och gränssnitt.De är ofullständiga av sig själva och används i arvssituationer i många programmeringsspråk som Java, C ++ och C#.Deras användning som basklass innebär att de ofta kallas en abstrakt basklass (ABC).

En integrerad del av objektorienterad programmering, dataabstraktion tar bort de onödiga detaljerna för ett objekt.I huvudsak kokar det objektet ner till dess huvudsakliga identifierande egenskaper.Dessa grundläggande egenskaper ger en plan som kan användas för att skapa andra objekt med samma egenskaper, endast skiljer sig åt i detaljerna.

Denna plan definieras som en klass.Klasser används för att kapsla in koden, vilket gör det enklare för programmeraren, eftersom han kan referera till specifika vanliga rutiner istället för att skriva rutinerna om och om igen.Programmerare skapar barnobjekt från klasser, och dessa objekt ärver de funktioner och metoder inom överordnad klass.

Syftet med en abstrakt klass är att vara den ram som andra klasser byggs på.Objekt kan inte skapas direkt från en abstrakt klass, endast från underklasserna som tillhör den abstrakta klassen.För ett objekt att ärva från en abstrakt klass måste en underklass skapas.Objekt av en skapad underklass av en abstrakt klass ärver egenskaper hos den abstrakta klassen.

Varje klass modellerar ett koncept, och abstrakta klasser tenderar att modellera mer abstrakta begrepp med abstrakta metoder.Abstrakta metoder är subroutiner i en abstrakt klass som inte innehåller någon implementering.Dessa subroutiner används som platshållare för att skrivas över av en underklass eller ett objekt utformat baserat på klassen som innehåller den abstrakta metoden själv.

Det finns olika metoder för att skapa en abstrakt klass.I C ++ skapas till exempel en abstrakt klass genom att utveckla en klass med minst en abstrakt metod eller ren virtuell funktion.Java använder ett nyckelord, "abstrakt" för att beteckna en abstrakt klass.De definieras emellertid inte på programmeringsspråk som inte stöder idén om arv.

Arv är processen att skapa nya objekt från klasser där de nya objekten kan använda de funktioner och metoder som definieras i sina överordnade klasser utan att behövaRESTATE programmet.Det är därför en abstrakt klass är användbar.Barnklasser och barnobjekt för dessa underklasser ärver egenskaper från klassen Abstract.Abstrakta klasser betraktas som superklasser och är högst upp i klassstrukturhierarkin, så de har ingen mening på ett språk som inte stöder arv.