Objekt-orientert programmering er et konsept som feide gjennom universitetet informatikk avdelinger i 80 og produksjon programvare samfunnet på 90-tallet . Like " modulær programmering " før det og " Internett-programmering " etter det , var OOP en gjenstand for en viss debatt . Nå er begrepene modulær programmering universelt akseptert , og mange av begrepene OOP er allment akseptert , selv om noen innsigelser mot OOP paradigmet forbli . Den grunnleggende ideen om OOP
I OOP , dataprogrammer er samspillet mellom " objekter." Et objekt har " instansvariablene " og " metoder ". Forekomsten variabler postverdier assosiert med objektet . Metoder er funksjoner som involverer noen aspekter av objektet. I et spill program , kan det være et objekt kalt " romskip ", som har instansvariablene som drivstoff beløp. En metode kan være " brann torpedo . " Romskip kan tilhøre en "klasse" av objekter kalt " bevegelige objekter. " Asteroids også tilhører denne klassen . Kjører programmet består av objektene sender "meldinger " til hverandre .
Fordelene av OOP
Den første fordelen til objektets konseptet er at all kode som har noe å gjøre med romskip er lokalisert på ett sted. En annen fordel er at gjenstander kan ha iboende egenskaper fra klassen de tilhører , for eksempel , romskip og asteroider både kan ha en XY posisjon fordi alle objekter som tilhører har klassen av objekter som beveger seg en XY posisjon . Skrive kode er ofte enklere fordi du kan konseptualisere det som noe skjer med en gjenstand . En annen fordel er at OOP gjør store programmer mer håndterlig . Hvis alle vinduer tilhører et hierarki av vinduer klasser og all koden som refererer til et bestemt vindu er med det vinduet objekt, kan alle vindu manipulasjoner skrives som overføring av enkle beskjeder .
Ulempene ved OOP
Ikke alle programmer kan modelleres nøyaktig av gjenstander modell . Hvis du bare ønsker å lese i noen data , trenger noe enkelt til det og skrive det ut igjen , har du ikke trenger å definere klasser og objekter . Men i noen OOP språk , kan det hende du må utføre dette ekstra trinnet . En annen ulempe er at hvis du tvinge språket inn i OOP konseptet , du mister noen av funksjonene nyttige språk som de " funksjonelle språk . " En annen ulempe er at en programmerer begrep om hva som utgjør et abstrakt objekt ikke kan matche visjonen om en annen programmerer. Objektene ofte kreve omfattende dokumentasjon.
The Future of OOP
Fremtiden for OOP trolig ligger med språk som Ruby og Lua , der objektet konseptet er bygget inn språket og er ikke alltid eksplisitt styres av programmereren. Ruby, for eksempel behandler alt som et objekt , inkludert strenger , tall, ditt program og innholdet i mappen du er i. Du nesten aldri trenger å erklære noe for å være et objekt. Du står fritt til å bruke språket slik du vil : som en OOP , som et funksjonelt språk , som en saksbehandlingsfeil språk eller på måter som blander opp modaliteter
.