Objektorienterad programmering blev ett paradigm inom mjukvaruutveckling som programmerare lärt fördelarna med att hantera koden på ett modulärt sätt . Genom att definiera "objekt" som representerar informationen programmeraren använder hela programmet , programmerare och andra programmerare kan bygga bort dessa objekt för att skapa mer komplicerad programvara . I hjärtat av objektorienterad mjukvaruutveckling är begreppen uppgifter inkapsling och abstraktion , tillsammans med begreppen arv och polymorfism . Inkapsling
När du skriver klasser , kräver god objektorienterad programmering praxis som programmerare " kapsla in " uppgifter från användare av föremålet . Detta innebär att alla uppgifter eller funktion i en klass inte ska vara tillgängliga för användaren utan programmeraren modifiering . Ett bra exempel på detta är " får " och "set" -funktioner inbyggda i de flesta klasser . Dessa funktioner styr hur en användare kan komma åt data variabler i ett objekt , och se till att alla uppgifter kan anses legitimt att använda . Detta begränsar oro över skadade data eller olagliga uppgifter manipuleras av användaren .
Abstraction
En fördel med objektorienterad programmering är att det tar bort användaren från kravet på att veta hur andra koden fungerar . Denna fördel , som kallas abstraktion , innebär att en användare genomför ett objekt som skapats av en annan programmerare att utföra en viss uppgift inte behöver veta hur det objektet slutför sin uppgift . På så sätt kan användaren koncentrera sig på sina egna problem , istället för att oroa genomförandet av ett föremål som de kanske vill använda . Detta gör att programmerare att bygga större och mer komplexa program än mindre föremål .
Arv
annan fördel till objektorienterad programmering är arv , vilket också gör att programmerare att bygga mer komplexa program från enklare delar . Arv är det sätt på vilket objekt som " ärver " funktioner från andra föremål , tweaking dem för att passa deras behov . Till exempel kan en " lärare " objektet ärver dess funktionalitet från en "person" objekt , därför att läraren är en person och kräver all funktionalitet på den person objektet ( tillsammans med de ytterligare funktioner i en lärare ) . På så sätt behöver programmeraren av läraren objektet inte att skriva om personen objektet bara att använda den för läraren objektet , hon kan bara ha läraren objektet ärver sina uppgifter från den person objektet
. polymorfism
Polymorphism i linje med arv , eftersom det är det sätt på vilket ett objekt som ärver från ett annat objekt interagerar med det " base " objektet . Till exempel kan läraren objektet ärver vissa funktioner från sin bas objekt ( människa ) , men ändra en av dem . Läraren objektet kan fortfarande använda funktionerna basklassdata tillsammans med sin egen version av den funktion den ändras . Dessutom , under programkörning en användare kan deklarera en variabel för att hålla en person som objekt , men senare programmet bestämmer att den behöver en lärare objekt mer specifikt . I detta fall kan den rörliga avsatt för personen objektet innehar en lärare objekt , eftersom en lärare ärver från ( eller är ) en person som objekt . Addera