Fordele & Ulemper til objektorienteret programmering

January 24

Fordele & Ulemper til objektorienteret programmering

Objektorienteret programmering er et koncept, der fejede gennem universiteternes datalogiske institutter i 80'erne og produktion software samfund i 90'erne. Ligesom "modulær programmering", før det, og "Internet programmering" efter det, OOP var genstand for en del debat. Nu er begreberne modulære programmering universelt accepteret, og mange af begreberne OOP er almindeligt accepteret, selv om nogle indvendinger mod OOP paradigme tilbage.

Den grundlæggende idé med OOP


I OOP, edb-programmer er samspillet mellem "objekter". Et objekt har "instansvariabler" og "metoder". De instansvariabler rekord værdier forbundet med objektet. Metoder er funktioner, der involverer nogle aspekter af objektet. I et spil program, kan der være et objekt kaldet "rumskib", som har instansvariabler som brændstof beløb. En metode kunne være "brand torpedo". Rumskibe kan tilhøre en "klasse" af objekter kaldet "bevægelige objekter." Asteroider hører ligeledes til denne klasse. Kørsel af programmet består af de objekter der sender "meddelelser" til hinanden.

Fordele ved OOP


Den første fordel til objekter konceptet er, at al kode, der har noget at gøre med rumskibe er placeret på et sted. En anden fordel er, at genstande kan besidde iboende egenskaber fra klassen, de tilhører; for eksempel, kan rumskibe og asteroider har begge en XY position, fordi alle genstande, der hører til klassen af ​​bevægelige objekter har en XY position. Skrive kode er ofte lettere, fordi du kan begrebsliggøre det som noget der sker til et objekt. En anden fordel er, at PK gør store programmer mere overskuelige. Hvis alle vinduer tilhører et hierarki af vinduer klasser og al den kode, der henviser til en bestemt vindue med vinduet objekt, alle vinduer manipulationer kan skrives som det indskydende af simple budskaber.

Ulemperne ved OOP


Ikke alle programmer kan modelleres præcist af objekter model. Hvis du blot ønsker at læse i nogle data, gøre noget simpelt til det og skrive det ud igen, har du ikke behov for at definere klasser og objekter. Men i nogle OOP sprog, kan du nødt til at udføre denne ekstra trin. En anden ulempe er, at hvis du tvinger sproget i OOP koncept, du mister nogle af funktionerne af nyttige sprog som de "funktionelle sprog." En anden ulempe er, at en programmør begreb om, hvad der udgør en abstrakt objekt ikke kan matche visionen om en anden programmør. Objekterne kræver ofte omfattende dokumentation.

Fremtiden for OOP


Fremtiden for OOP formentlig ligger hos sprog som Ruby og Lua, hvor objektet konceptet er bygget ind i sproget og ikke altid eksplicit kontrolleres af programmøren. Ruby, for eksempel, behandler alt som et objekt, herunder strenge, tal, dit program og indholdet af den mappe, du i øjeblikket er i. Du næsten aldrig behøver at erklære noget at være et objekt. Du er velkommen til at bruge det sprog, som du vil: som en OOP, som en funktionel sprog, som en proceduremæssig sprog eller endog på måder, blande modaliteter.