abstract datatypes - definition

Tags:    abstrakt datatyper java definition

Leder efter en simpel definition på "abstract datatypes", altså en forklaring der er til at forstå. Hvad kendetegner "Abstract datatypes" osv.?

Ved godt hvilke abstakte datayper der findes, såsom:
List, Sets, Maps, Queue, Deque, stacks og trees.

Og hvilke operationer og funktioner de har, men selve definitionen på hvad det er i en større helhed er jeg ikke sikker på. Håber at nogen kan komme med en god lille forklaring på dette.

Har selvfølgelig selv læst om det og det billede jeg har fået er at "Abstract type" er en samling af forskellige "operations" og "types" (f.eks. primitive typer som int) der sammen udgør en ny "datatype". Det er altså en slags "custom made datatype".

Eller er det helt ved siden af ?



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Et interface giver en signatur for hvad en klasse som minimum skal tilbyde for at leve op til interfacet. Interfacet giver en liste af metodenavne, deres argumenter og returtype, og så er det op til en klasse at levere disse metoder.

En abstrakt datatype er en datatype, som ikke er konkret. En datatype, som er konkret, kan instantieres, det kan en abstrakt type ikke.

"Hund" er en abstaktion over et firbenet kræ som kan logre med halen og gø. Fido er et konkret eksemplar af abstraktionen "Hund", men Fido er ikke bare en "Hund"...intet er bare en hund. Fido er en "Labrador", som er en konkret hunderace...Fido findes, "Hund" er bare en abstraktion, som beskriver hvad der gør sig gældende for alt, som med rette kan kaldes for en hund, og "Labrador" er en konkret race.

I det ovenstående er "Hund" en abstrakt datatype, "Labrador" er en konkret datatype nedarvet af "Hund" typen, og "Fido" er en instans af den konkrete datatype "Labrador".

Det er den helt generelle forklaring. I Java kan en abstrakt klasse være delvist implementeret, det kan et interface ikke. Interfacet er altså kun beskrivelsen.

Giver det mening?



Indlæg senest redigeret d. 13.06.2013 15:25 af Bruger #2695
har endnu et spørgsmål.. Har læst at List, Sets osv. er interfaces.. men det er også abstrakte datatyper? Hvordan hænger det sammen?



Abstract data type (ADT) = En collection af af bestemte data med et bestemt set operationer.

Eksempel med stack:

push, indsætter data oven på stacken.

pop, tager data ud øverst fra stacken.



Håber det hjalp! :D



tak for svaret :)

men ADT's er da også interfaces ikke ?





t