Abstrakti tietotyyppi

Abstrakti tietotyyppi tai abstrakti tietotyyppi on matemaattinen malli koostuu kokoelma toiminta määritellään joukko tietoja mallin.

Esittely

Maailmassa on useita ohjelmointikieliä, jotka on luotu ajan kuluessa ja ovat parantuneet tarpeiden vuoksi ohjelmoijien aikakausi, johon ne kuuluvat. Ensimmäinen ohjelmointikieliä oli lineaarinen kuin ohjelma kulki pisteen merkitty alku päästä pisteeseen Loppu. Lopulta he loivat uusia kieliä ja tänään eniten käytetty kutsutaan "Oriented Objects ".

Olio-kielellä on ominaista kielten, jotka eivät ole lineaarisia, vaan muodostuu eri toimintojen, joita kutsutaan siinä järjestyksessä, jossa pyynnöt itse ohjelman tai käyttäjä määrittää. Ymmärtääksemme paremmin kuinka olio-kielet toimivat, otamme käyttöön perustavanlaatuinen käsite tietorakenteita tietojen abstraktio ja merkitys kielillä ja miten useimpien kaupallisten ohjelmien tänään töihin.

Historia

Käsite abstrakti tietotyyppi, ehdotti ensimmäisenä noin 1974 John Guttag ja muut, mutta vasta 1975, että ensimmäisen ehdotetun se Liskov kielten CLU.

Turbo Pascal kieli oli ratkaiseva yleistä hyväksyntää ADTS käyttöönoton yksiköt, vaikka nämä eivät täytä perusominaisuudet Abstrakti tietotyyppi kuten tietojen kapselointi. Ada kieli pystyi onnistuneesti sen ADTS pakettiin. On syytä muistaa, että kaksi jälkimmäistä kieltä virallisesti tukea modulaarinen ohjelmointi.

Määritelmä

Hyvin usein termejä TDA ja Data abstraktio vastaavasti käytetty ja tämä johtuu samankaltaisuuden ja keskinäisen riippuvuuden molempia. On kuitenkin tärkeää määritellä nämä kaksi käsitettä erikseen.

Kuten jo mainittiin, kielet ovat olio-ohjelmointikieliä muodostetaan erilaisia ​​menetelmiä tai toimintoja, joita kutsutaan siinä järjestyksessä, jossa ohjelma vaatii sitä, tai käyttäjä haluaa. Data abstraktio on piilottaa ominaisuudet objektin ja kiertää niitä, jotta vain käyttää objektin nimi ohjelmaamme. Tämä on samanlainen kuin tilanne jokapäiväistä elämää. Kun sanon sanan "koira", sinun ei tarvitse kertoa teille, mitä koira. Tiedät jo, miten saada koira ja tietää, että koirat haukkuvat. Joten en abstrakti kaikki ominaisuudet kaikki koirat yhdellä aikavälillä, joita kutsun "koira". Tätä kutsutaan "Abstraktio" ja on erittäin hyödyllinen käsite ohjelmointi, koska käyttäjän ei tarvitse mainita kaikkia ominaisuuksia ja toimintoja objektin aina kun sitä käytetään, mutta ilmoitetaan erikseen ohjelman ja yksinkertaisesti abstrakti termi mainita.

Yllä olevassa esimerkissä, "koira" on tiivistelmä Datan tyyppi ja koko prosessin määrittelyyn, toteuttamiseen ja maininta on mitä me kutsumme Data abstraktio.

Laitetaan todellinen esimerkki ohjelmointi. Oletetaan, että ohjelmointikieli OO pieni ohjelma vie alueen suorakaiteen koon käyttäjä valitsee. Mieti myös, että käyttäjä todennäköisesti haluaa tietää alue useiden suorakulmioita. Olisi erittäin ikävä varten ohjelmoija määritellä lisääntyminen "base" varten korkeus "useita kertoja ohjelmassa myös rajoittaisi käyttäjä ottaa tietyillä aloilla. Siksi, ohjelmoija voi luoda toiminto nimeltään "alue", jota kutsutaan monta kertaa, joita tarvitaan käyttäjän ja niin ohjelmoija paljon työn välttämiseksi ohjelma on nopeampi, tehokkaampi ja vähemmän pituus. Tämän saavuttamiseksi menetelmä alue erikseen GUI: esitetään käyttäjälle ja tarjoaa siten suoritettavan operaation ja palauttaa arvon kertominen on luotu. Pääasiassa menetelmässä sitä kutsutaan vain funktio alue ja ohjelma hoitaa loput.

Se, pitää kaikki toiminnot ja ominaisuudet esineen erikseen on nimeltään kapselointi ja on myös tärkeä käsite ymmärtää rakenteen tiedot. Usein kapselointi käytetään synonyyminä piilottaa tietoa, mutta jotkut uskovat se ei ole.

Erottaminen käyttöliittymä ja täytäntöönpanon

Kun käytetään tietokoneohjelma, TDA edustaa sen käyttöliittymä, joka toimii kantena asianmukaisen täytäntöönpanon. Ajatuksena on, että käyttäjät TDA tarvitse huolehtia vain noin käyttöliittymä, mutta ei täytäntöönpanoa, koska tämä voi muuttua ajan myötä ja puuttuessa kapselointi vaikuttaa käyttävien ohjelmien tiedot. Tämä perustuu käsitteeseen tietojen piilossa, suojan ohjelman suunnittelu päätökset voivat muuttua.

Vakaus TDA perustuu ajatukseen, että täytäntöönpano on piilotettu käyttäjältä. Vain käyttöliittymä on julkinen. Tämä tarkoittaa sitä, että AD voidaan toteuttaa eri tavoin, mutta edellyttää vielä johdonmukainen käyttöliittymä käyttäviä ohjelmia ei vaikuta.

On eroa, vaikka joskus hienovarainen, välillä tiivistelmä datatyypin ja tietorakenne käytetään sen toteuttamiseen. Esimerkiksi TDA luettelosta voidaan toteuttaa array tai Liittyy tai jopa binäärihakupuu lista. Luettelo on tiivistelmä Datan tyyppi kanssa hyvin määritelty toimintoja, kun linkitetty lista on tietorakenne perustuu viitteitä tai viitteitä, joita voidaan käyttää luomaan edustuksen luettelon. Linkitetyn listan käytetään yleisesti edustamaan listan TDA, ja joskus jopa sekoittaa. Esimerkkinä on Java-luokka linkitetty lista, joka tarjoaa paljon menetelmiä, jotka eivät vastaa linkitetyn listan "puhdas", mutta vahva TDA.

Samoin, ADT binäärihakupuu voidaan esittää monella tavalla: Binary, puu AVL, punamusta puu, järjestely jne Huolimatta täytäntöön binääripuussa aina samat toiminnot

Erillinen liitäntä täytäntöönpano ei aina tarkoita sitä, että käyttäjä sivuuttaa kokonaan täytäntöönpanoa rutiini, mutta tarpeeksi vedota miltään osin täytäntöönpanon. Esimerkiksi, TDA voidaan luoda käsikirjoituksen tai mikä se voidaan decompiled.

Terminologiassa olio TDA on luokka; esiintymä TDA tai luokka, on objekti. Se on myös jatkuvasti käyttävät ohjelmoijat.

Luonnehdinta

TDA on tunnusomaista joukko toimenpiteitä, jotka on yleensä kutsutaan julkisen käyttöliittymä ja edustaa käyttäytymistä TDA; kun taas täytäntöönpano kuin yksityinen osa TDA on piilotettu asiakkaalle ohjelma, joka käyttää sitä. Kaikki korkean tason kielellä ovat ennalta TDA; että niitä kutsutaan yksinkertainen tyypit ja ennalta rakenteita, ja nämä ovat heidän julkisen rajapinnat, jotka sisältävät toimintoja, kuten +, -, *, jne. Sinun ei tarvitse tietää, miten nämä toimijat toimia sisäisen esityksen määriteltyjen tyyppejä, joka myös yleensä varsin riippuvainen täytäntöönpanon koneeseen, jossa kääntäjä toimii. Mielenkiintoista on, että nykyinen kieli antaa meille mahdollisuuden laajentaa ennalta TDA muiden kanssa määrittelee ohjelmoija ja sopeutua tietotyypit tarpeisiin ohjelmien.

TDA jotka ovat menossa kiinnostusta lähtien ovat ne, jotka kuvastavat tietyn käyttäytymisen järjestäminen tiettyjä erilaisia ​​jäsenneltyä tietoa. Jäsennelty tapa tallentaa nämä tiedot on puhumme luonnehtia kunkin TDA.

TDA että on yksinkertaista tietoa, mutta riippuvainen rakenteen käyttäytymistä kutsutaan polilíticos ja ne yksinkertaiset TDA, koska ovat ennalta tyyppejä jos tiedot eivät liity millään tukirakenteen sijaan arvo aina määräisiä monoliitti TDA.

Huomaa, että kun puhumme TDA emme tee mitään viittausta tyypin elementtejä vaan ainoastaan, miten nämä elementit on järjestetty. Olemme kiinnostuneita vain rakenne olevat tiedot ja toiminnot. Voit selvittää rakenteen käyttäytymistä yksinkertaisesti tarkkailla käyttäytymistä tiedot.

Me luonnehtia sitten TDA. TDA on osa, joka on käyttäjälle näkymätöntä, jota on suojeltava ja voit sanoa, että ei ole merkitystä käyttäjän sovellus ja koostuu sekä algoritmeihin koneiden joka toteuttaa semantiikka toiminnan tekijöinä käytetään yhteys elementtejä TDA eli sisäistä tietoa täytäntöönpanemiseksi tarvittavista tehdään käyttäytymisestä ADD. Kiteytämme voimme sanoa, että molemmat täytäntöönpanon ja sisäisten osien TDA on yksityinen ja piilotettu ulkoinen pääsy muihin tasolle.

TDA edustaa abstraktio:

  • Erittelytiedot erottuvat.
  • Toteutuksen yksityiskohdat ovat piilossa.

Abstraktio

Abstraktio, yksi välineistä, joka auttaa meitä ratkaisemaan ongelma on avain ymmärtää ongelmia ja ilmiöitä, jotka ovat paljon yksityiskohtia mekanismi, sen pääajatuksena on käsitellä ongelma, ilmiö, objekti , teema tai idea kuin yleinen käsite, ottamatta huomioon lukemattomia yksityiskohtia, jotka ne voivat olla. Prosessi vedenotto on kaksi toisiaan täydentävää komponentteja.

  • Tuotiin esiin keskeiset seikat esineen.
  • Ohita merkityksetön näkökohdat.

Yleisesti voidaan sanoa, että abstraktio sallii luoda hierarkkinen taso tutkimuksessa ilmiöitä, joka on vahvistettu peräkkäisissä yksityiskohtaisuuden tasoja. Yleensä alavirtaan yksityiskohtia seurataan, kaikkein yleisesti tarkinta tasolla tasoilla.

Esimerkiksi: ohjelmointikielet korkeatasoinen avulla ohjelmoija abstrakti loputon yksityiskohtia konekieliä. Toisena esimerkkinä, tietokoneen muistiin on yksiulotteinen muodostama rakenne solut ja vielä toimi kuin yksi. Abstraktio antaa meille mahdollisuuden olla määritellään sarja peräkkäisiä tarkennuksia meidän TDA ja se ymmärtää, että kun sanomme me tarkoitamme peräkkäisiä tarkennuksia strategian, jota käytetään murtaa ongelma tulee osaongelmat. Ohjelmistona kehittyy suunnittelun moduulien jokaisella kolmella tasolla hienostuneisuutta abstraktiotasolla on edustettuna. Eli se sisältää yksityiskohtia, jotka jätettiin huomiotta korkeammalla tasolla alemmalle tasolle hierarkiassa.

Mieti eri abstraktio että voimme löytää ohjelma:

1. toiminnallinen abstraktio: luoda ja vedota menettelyjä ja toimintoja nimi jossa korostetaan mitä tekee toiminto ja huomioi kuinka. Käyttäjän tarvitsee vain tietää erittely vedenoton ja voi sivuuttaa loput tiedot.

2. tiedon abstraktio:

  • Tiedot Tyyppi: leguajes toimittamat korkealla tasolla. Edustus käytetään näkymätön ohjelmoija, joka vain saa katsella ennalta kullekin toimintaan.
  • Määritellään tyypit: ohjelmoija, jotka mahdollistavat määritelmä arvojen lähempänä ongelmaan tietoja.
  • TDA: määrittelystä ja edustus tietotyyppejä, sekä niiden ominaisuuksia.
  • Esineet: Ne ovat TDA jonka ominaisuuksia uudelleen ja jakaminen koodin lisätään.

Jos me kaivaa syvemmälle maailmaan ohjelmoinnin ja sen käsitteet, kaksi näistä käsitteistä ei pidä sekoittaa, ne ovat: tietotyyppi ja tietorakenteen.

Tietotyyppi, ohjelmointikieli määrittelee arvomaailma että tietty muuttuja voi ottaa, sekä perustoiminnot tällä laitteella. Nyt Katsotaanpa, miten näitä käsitteitä yhdistää. Tietotyypit ovat ensimmäisen tason abstraktio, koska kukaan katsoo miten ne pannaan täytäntöön tai todella edustavat tiedot laitteen muistiin. Käyttäjälle, prosessi täytäntöönpanon tai edustus on näkymätön.

Katsokaamme jotka ovat tietorakenteita. Tietorakenteet ovat kokoelmia muuttujia, eivät välttämättä ole samaa tyyppiä toisiinsa jollain tavalla. Tietorakenteet on tunnusomaista datan tyypin elementtien tallennettujen rakennetta ja määritelty suhde näitä elementtejä.

Tason tietojen rakenteet ovat täysin merkityksettömiä toimintansa tietyn kohteen, mutta merkittäviä operaatioita merkki rakenne maailmanlaajuisesti.

Data abstraktio on ominaista tietokanta, jonka avulla käyttäjä tai ohjelmoija toimimaan tietoihin tietämättä yksityiskohtia, hän ei ole "tärkeä", tarjoaa abstrakti Näiden. Vastatakseen tähän tarkoitukseen on määritelty eri abstraktiotasoilla:

  • Fyysinen taso. Se määrittää, miten tietoa säilytetään fyysisesti eli alhaisimmillaan.
  • Looginen tai merkityssisällöltään. Määrittelee organisaatio tiedostoja. Indeksit, avaimet, kenttien järjestys, suhteet, tietotyypit.
  • Näkymät tasolla. Piilotettu osa käyttäjän tietoa, joka on näkyvissä vain osaa tietokannasta.

Esimerkkejä käytöstä ADTS

Joitakin esimerkkejä käytöstä ADTS ohjelmoinnissa ovat:

  • Sarjaa: yhteisten kanssa perustoiminnot, lisätä, poistaa, haku ...
  • Binääripuita haku: täytäntöönpano puut osia käytetään sisäisen esityksen monimutkaisia ​​tietoja. Vaikka otetaan aina erillisenä TDA ovat osa perhettä kaavioita.
  • Pilas ja Colas: täytäntöönpano Algoritmien FIFO ja LIFO.
  • Kuvaajat: täytäntöönpano kaavioita; sarja pisteiden yhdistetty sarjaan kaaria tai reunoja.
  0   0
Edellinen artikkeli Galapa
Seuraava artikkeli National Basketball League

Aiheeseen Liittyvät Artikkelit

Kommentit - 0

Ei kommentteja

Lisääkommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha