Objektorienterte Språk

et objektorientert språk er et programmeringsspråk som dreier seg om begrepet et objekt. Objektorienterte språk ble utviklet for å gjøre det enklere å utvikle, feilsøke, gjenbruke og vedlikeholde programvare enn det som er mulig med tidligere språk. Forstå objekter, og objektorienterte språk, krever kunnskap om utviklingen av programmeringsspråk og datastrukturer.

Utviklingen av Programmeringsspråk

Programmeringsspråk Har utviklet seg kontinuerlig gjennom årene. Denne utviklingen er detaljert i de følgende eksemplene.

Monteringsspråk.

de første dataprogrammene ble skrevet i assembly language. Dette er en primitiv type språk der hver setning tilsvarer en enkelt maskininstruksjon; det er den mest grunnleggende datamaskinoperasjonen mulig. Å oppnå noe nyttig tar mange maskininstruksjoner. Assembly language er spesifikke for en bestemt type datamaskin; flytte programmet til en annen type datamaskin krever å skrive et helt nytt program. Assembly language programmer er vanskelig å skrive, feilsøke og vedlikeholde. Selv om andre språk nå brukes til de fleste dataprogrammer, brukes assembly language fortsatt i dag som morsmål når en ny chip utvikles.

Høyordensspråk.

etter assembly ble høyere ordens språk utviklet; BLANT de tidlige VAR FORTRAN og BASIC. En setning i et høyt ordens språk tilsvarer en setning på engelsk. Et program kalt en kompilator leser uttalelsene fra en kildefil og genererer en fil som inneholder maskininstruksjoner, som kalles en objektfil. Objektet filen kan deretter lastes og utføres av datamaskinen. Et høyordensspråk er mer bærbart enn et assembly-program; den samme kildefilen kan kompileres for hvilken som helst datamaskin så lenge en egnet kompilator eksisterer.

Tidlige høyordensspråk bare tillatt for enkle datatyper som heltall, flyttall eller streng (en sekvens av bokstaver). Den eneste tilgjengelige datastrukturen var arrayet. En matrise er en liste over elementer som alle har samme datatype, for eksempel en liste over tall eller en liste over strenger. En database ble opprettet ved hjelp av en gruppe arrays. En produktdatabase kan for eksempel inneholde tre matriser kalt Produktnummer, Produktbeskrivelse og Produktpris. Det var opp til programmereren å holde matrisene justert; for eksempel å sørge for at det tredje elementet i hver matrise korresponderte med det samme produktet.

Strukturerte Språk.

det neste trinnet i utviklingen av dataprogrammeringsspråk var utviklingen av strukturerte språk, Som C og PASCAL, og innføring av datastrukturer. En datastruktur er en samling av enklere datatyper i en enkelt post. En produktdatabase kan for eksempel bygges som en rekke produktposter, hver post som inneholder Produktnummer, produktbeskrivelse og produktprisfelt. Nå kan en post inneholde all nødvendig informasjon om et enkelt element. Strukturer ble også mer definert i den prosessuelle delen av språket. En funksjon eller prosedyre er en liten del av et større program som kan skrives for å gi noen grunnleggende operasjon på en datastruktur som en post.

Objektorienterte Språk.

det neste trinnet i utviklingen av dataprogrammeringsspråk, objektorientering, ble introdusert I Smalltalk-språket. Objektorientering tar begrepene strukturert programmeringett skritt videre. Nå, i stedet for datastrukturer og separate programstrukturer, kombineres både data og programelementer i en struktur kalt et objekt. Objektdataelementene kalles attributter, mens objektprogramelementene kalles metoder. Samlet kalles attributter og metoder objektets medlemmer. Vanligvis er et objekts metoder de eneste programmene som kan operere på objektets attributter.

med objektorientering kom en grunnleggende endring i måten programmene vises på. Den tidligere oppfatningen var at data må manipuleres på en eller annen måte for å oppnå et sluttresultat, og et program ble sett på som en sekvensiell måte å utføre manipulasjonene på. Fra et objektorienteringsperspektiv blir et program sett på som en gruppe objekter som reagerer på meldinger fra brukeren, andre programmer eller andre objekter. Denne visningen førte til ideen om hendelsesdrevet programmering; dvs. når hendelse A skjer, utfører dette objektet handling B. en melding sendes til et objekt ved å ringe en av metodene.

Egenskaper Ved Objektorientert Programmering

Viktige egenskaper ved objektorientert programmering inkluderer innkapsling og data skjuling, arv, og polymorfisme.

Innkapsling Og Skjuling Av Data.

den sentrale ideen i objektorientert programmering (oop) er at objektattributtene og metodene som opererer på attributtene er bundet sammen, eller innkapslet, i objektet. Objektets metoder gir de eneste grensesnittene mellom objektet og andre deler av programmet. Dette er forskjellig fra tidligere språk, der noen del av et program kan operere på noen stykke data når som helst. Selv om dette virker restriktivt, resulterer begrensningene i et mer modulært program som er lettere å utvikle og mindre sannsynlig å inneholde feil. Det betyr også at det er lettere å flytte et objekt til et annet miljø og fortsatt ha det fungere riktig.

et programvareobjekt ligner noe på et fysisk objekt. For eksempel kan en motor brukes til å drive en bil. Den har interne komponenter, som svarer til attributter, men man trenger ikke å være opptatt av hva de er eller hvordan de fungerer. Motoren må grensesnitt med gasspjeldet, drivstoffsystemet, overføringen, inntaket og eksosmanifoldene, som alle tilsvarer metoder. Det er utenkelig at drivstoff ville komme inn i motoren på noen annen måte enn ved hjelp av drivstoffsystemet. Så lenge de riktige grensesnittene opprettholdes, vil motoren fungere. Så det er med objekter. Objektattributtene er skjult fra utsiden. Objektet samhandler med sitt miljø gjennom sine metoder.

Arv.

et annet viktig konsept for objektorientert programmering er arv. En objektklasse er definert i et hierarki, og sies å arve oppførselen til sine forfedre (disse objektene over det i hierarkiet). Et tegningsprogram kan for eksempel inneholde tre objektklasser: Figur, Rektangel og Sirkel. De kan defineres slik At Rektangel og Sirkel er begge etterkommere Av Form.

Figur inkluderer attributter som er felles for en hvilken som helst figur, for eksempel plasseringen av figuren på en tegneoverflate. Shape gir også metoder for å manipulere disse attributtene. En flyttemetode vil for eksempel endre figurens plassering. I tillegg vil det gi en definisjon for metoder som alle figurer må kunne svare på, for eksempel en tegningsmetode for å vise figuren på en tegneoverflate. Tegningsmetoden i dette tilfellet sies å være abstrakt; det gjør ikke noe annet enn å skape et krav om at etterkommende klasser må implementere det.

Siden Rektangel er en etterkommer Av Form, arver det attributter (plassering) og metoder (flytte) Fra Form. Det gir de ekstra attributter den trenger (bredde og høyde) og nye metoder som manipulerer disse attributtene (setWidth, setHeight). Rektangel må også gi en tegningsmetode som maler et rektangel på tegningsflaten, fordi hver etterkommer Av Form må implementere en tegningsmetode. På Samme måte Gir Circle et nytt attributt (radius), metoder for å manipulere det (setRadius), og en egen tegningsmetode.

med denne typen arrangement vil drawing manager-programmet ha en liste over figurer på tegneflaten. For å flytte et objekt, vil det kalle objektets flyttemetode. For å tegne et objekt kaller lederen objektets tegningsmetode. Lederen verken vet eller bryr seg hvordan objektet beveger seg eller trekker seg, så lenge jobben blir gjort. Faktisk kan det ikke engang vite hva Slags Form en bestemt gjenstand egentlig er. Det kan være Et Rektangel, En Sirkel eller et annet objekt som stammer fra Form. Det trenger bare å vite at Det er etterkommer Fra Form, så det kan sende til det enhver melding som En Form kan motta.

arv evnen til et objektorientert språk lagt til en helt ny dimensjon til programmering. Å lære et tidligere høyordensspråk var hovedsakelig involvert i å lære språksyntaksen (hvordan språksetningene er konstruert), noe som ikke er så vanskelig. I et objektorientert språk er det fortsatt nødvendig å lære syntaksen, men å bli kjent med standardklassehierarkiene—som kan omfatte tusenvis av klasser, hver klasse med egne metoder—er en mye større oppgave. Det er imidlertid verdt, fordi et objekt arver attributter og oppførsel av sin forelder. En programmerer kan unngå unødvendig arbeid ved å finne et eksisterende objekt som allerede gjør det meste av det som trengs. Deretter kan ny evne legges trinnvis. Resultatet er lavere kostnader, høyere kvalitet programvare.

denne egenskapen førte også til inkludering av automatiske dokumentasjonsfunksjoner i flere objektorienterte språk. I tidligere språk, dokumentasjon – hvis generert i det hele tatt-ble gjort separat, nesten som en ettertanke. Nå dokumentasjon informasjon kan inkluderes i objektet kildekoden og brukes til å generere Et Hypertext Markup Language (HTML) dokument automatisk, komplett med hyperkoblinger opp og ned klassehierarkier, som kan vises med en nettleser. Dette gjør det mye enklere å vedlikeholde nøyaktig og oppdatert dokumentasjon.

Polymorfisme.

den neste viktige egenskapen til objektorientert språk er polymorfisme, noe som betyr at et etterkommere objekt ikke trenger å svare på en melding akkurat som sin forfedre gjør. Et nytt objekt kan overstyre overordnede metoder, noe som fører til at det nye objektet reagerer på en melding på en annen måte. For eksempel er en felles klasse i et vindussystem En Komponent som representerer et synlig objekt. En Komponent er en stamfar klasse for hvert synlig objekt på skjermen: ikoner, knapper, menyer, glidebrytere, avmerkingsbokser, radioknapper, selv vinduer. Alle disse etterkommerklassene overstyrer Noen Av Komponentens metoder for å endre atferd. For eksempel Må Et Ikonobjekt vise seg som et lite bilde. Ikonet overstyrer Komponentens tegnemetode for å vise bildet.

Vanlige Objektorienterte Språk

Vanlige objektorienterte språk inkluderer Smalltalk, C, Java og andre språk som BASIC og PASCAL.

Smalltalk.Smalltalk Var det opprinnelige objektorienterte språket, utviklet tidlig på 1970-tallet av Xerox. Siden da har flere variasjoner blitt introdusert. Den brukes fortsatt, men utbredt aksept har blitt hemmet av mangelen på en universell standard.

C++.

C + + er en utvidelse Av c-språket som ga OOP-evner. Det er trolig det mest utbredte objektorienterte språket som er i bruk. C er et hybridspråk fordi det kompilerer standard c-programmer; det krever ikke bruk av objekter. Dette gjør det mulig å dra nytte av eksisterende c-programvare, mens du bruker objektorientering for ny programvare. C styres AV ANSI-standarder.

Java.

Java Er det mest aksepterte rene objektorienterte språket. Det ble utviklet av Sun Microsystems opprinnelig som et kontrollspråk for små apparater. Det viste seg imidlertid ideelt for Bruk med Internett. En Java-applet kan bygges inn i en nettside. Når en nettleser laster nettsiden, laster den også og viser appleten. Sun opprettholder fortsatt streng kontroll over språkstandarden.

For å lette operativiteten på tvers av plattformer (arbeider med helt forskjellige datatyper uten rekompilering), Er Java implementert i to deler. Kompilatoren produserer en objektfil som bare kan utføres Av En Java Virtual Machine (JVM). En separat JVM er tilgjengelig for hvert operativsystem som støttes (Windows, Unix / Linux eller Solaris). Dette gjør Java-programmer i stand til å kjøre på noen av disse systemene uten rekompilering.

Andre Språk.

de fleste språk som brukes i dag tillater noen form for objektorientering. BASIC har utviklet seg til objektorientert Visual BASIC; PASCAL til objektorientert DELPHI. Vanligvis er disse hybrid språk, Som C, som støtter objektorientering uten å kreve det.

se Også Kompilatorer; Mus; Prosessuelle Språk.

Donald M. McIver

Bibliografi

Deitel, Harvey M., Og Paul J. Deitel. Java: Hvordan Programmere, 2.utg. Øvre Saddle River, NJ: Prentice Hall, 1998.

Voss, Greg. Objektorientert Programmering, En Introduksjon. New York: Osborne McGraw-Hill, 1991.

Related Posts

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *