Objektorienterad programmering är ett begrepp som svepte genom universitetets datavetenskapliga institutioner på 80-talet och produktionen Programvara i 90-talet . Liksom " modulär programmering " innan det och " Internet -programmering " efter det , var OOP ett föremål för viss debatt . Nu är begreppen modulär programmering allmänt accepterad , och många av begreppen OOP är allmänt accepterade , även om vissa invändningar mot OOP paradigm kvarstår . Den grundläggande idén med OOP
OOP , datorprogram är samspelet mellan " objekt. " Ett objekt har "instans variabler " och " metoder . " Den instans variabler rekordet värden som förknippas med objektet . Metoder är funktioner som involverar någon aspekt av objektet . I ett spel program , kan det vara ett objekt som heter " rymdskepp ", som har instansvariabler som bränsle belopp . En metod kan vara " brand torped . " Rymdskepp skulle tillhöra en " klass " av objekt som kallas " rörliga objekt . " Asteroids tillhör också denna klass . Köra programmet består av föremålen sända "meddelanden " till varandra .
Fördelar med OOP
Den första fördelen att föremålen konceptet är att all kod som har något att göra med rymdskepp är belägna på ett ställe . En annan fördel är att objekt kan ha inneboende attribut från den klass de tillhör , till exempel , rymdskepp och asteroider både kan ha en XY läge eftersom alla objekt som tillhör den klassen av rörliga objekt har en XY läge . Skriva kod är ofta lättare eftersom du kan konceptualisera det som något händer med ett objekt . En annan fördel är att OOP gör stora program mer hanterbara . Om alla fönster hör till en hierarki av fönster klasser och all kod som refererar till ett visst fönster är med det fönstret objektet , kan alla fönster manipulationer skrivas som det överlåtande av enkla budskap .
Nackdelarna med OOP
Inte alla program kan modelleras noggrant av objekten modell . Om du bara vill läsa in vissa uppgifter , göra något enkelt till det och skriva det igen , har du inget behov att definiera klasser och objekt . Men i vissa OOP språk , kan du behöva utföra detta extra steg . En annan nackdel är att om du tvingar språket i OOP konceptet , du förlorar en del av funktionerna i användbara språk som de " funktionella språk . " En annan nackdel är att en programmerare begrepp av vad som utgör ett abstrakt objekt inte kan matcha visionen om en annan programmerare . Objekten kräver ofta omfattande dokumentation .
Framtiden för OOP
framtid OOP antagligen ligger med språk som Ruby och Lua , där objektet konceptet är inbyggd i språket och är inte alltid uttryckligen styrs av programmeraren . Ruby, till exempel , behandlar allt som ett objekt , inklusive strängar , tal , ditt program och innehållet i den katalog du befinner dig i. Du nästan aldrig behöver förklara något för att vara ett objekt . Du är fri att använda det språk som du vill ha : som ett OOP , som ett funktionellt språk , som en processuell språk eller på ett sätt som blandar upp villkoren Addera
.