Fordele og ulemper ved objektorienteret programmering

Den grundlæggende idé med POO

I OOP har computerprogrammer interaktion mellem "objekter". Et objekt har "forekomstvariabler" og "metoder". Forekomstvariabler registrerer værdier, der er knyttet til objektet. Metoder er funktioner, der involverer et aspekt af objektet. I et spelprogram kan der være et objekt kaldet et "rumskib", som har forekomstvariabler såsom mængden af ​​brændstof. En metode kan være "brandtorpedo". Rumskibe kunne tilhøre en "klasse" af objekter, der kaldes "bevægelige objekter." Asteroider hører også til denne klasse. Programudførelsen består af objekter, der sender "beskeder" til hinanden.

Fordelene ved POO

Den første fordel ved begrebet objekter er, at al kode, der har noget at gøre med rumfartøjer, er på et sted. En anden fordel er, at objekterne kan have iboende attributter for den klasse, som de hører til, f.eks. Rumfartøjer og asteroider kunne begge have en XY-position, fordi alle objekter, der hører til klassen af ​​bevægelige objekter, har en XY-position. Det er lettere at skrive koder, fordi de kan konceptualiseres som noget, der sker med et objekt. En anden fordel er, at POO gør store programmer mere håndterbare. Hvis alle vinduer hører til et hierarki af vinduesklasser, og al koden, der henviser til et bestemt vindue, er inden for det vindue, kan alle vinduemanipulationer skrives som en enkel meddelelsesoverførsel.

Ulemperne ved OOP

Ikke alle programmer kan modelleres nøjagtigt efter objektmodellen. Hvis det, du ønsker, er at læse nogle data, gøre dem til noget enkelt og skrive igen, behøver du ikke at definere klasser og objekter. På nogle OOP-sprog er du muligvis nødt til at udføre dette ekstra trin. En anden ulempe er, at hvis sprog tvinges ind i begrebet objektorienteret programmering, går nogle af egenskaberne ved nyttige sprog, såsom "funktionelle sprog, " tabt. En anden ulempe er, at det koncept, som en programmør har, hvad der udgør et abstrakt objekt, måske ikke falder sammen med en anden programmørs vision. Objekter kræver ofte omfattende dokumentation.

Fremtiden for POO

Fremtiden for objektorienteret programmering møder sandsynligvis sprog som Ruby og Lua, hvor objektbegrebet er konstrueret på sprog og ikke altid eksplicit styres af programmereren. Ruby behandler for eksempel alt som et objekt, inklusive strenge, numre, dit program og indholdet af det bibliotek, du lige nu befinder dig i. Du bliver næsten aldrig nødt til at erklære noget som et objekt. Du er fri til at bruge sproget, som du vil: som objektorienteret programmering, som et funktionelt sprog, som proceduresprog eller endda på måder, der blander modaliteterne.

Interessante Artikler