Objekt-orienteret programmering blev et paradigme i softwareudvikling som edb-programmører har lært fordelene ved at forvalte kode i en modulær måde . Ved at definere "objekter" , der repræsenterer information programmøren bruger hele programmet , programmøren og andre programmører , opbygge kan off af disse objekter til at skabe mere kompliceret software. I hjertet af objekt- softwareudvikling er begreberne data indkapsling og abstraktion , sammen med begreberne arv og polymorfi . Indkapsling
Når du skriver klasser , god objektorienteret programmering praksis kræver, at programmører " indkapsle " data væk fra brugeren af objektet. Det betyder, at alle data eller funktion inden for en klasse ikke bør være tilgængelige for brugeren uden programmør modifikation. Et godt eksempel på dette er "få" og "Set" -funktioner indbygget i de fleste klasser. Disse funktioner kontrollerer, hvordan en bruger kan få adgang til data variabler i et objekt , og sikre, at alle data kan anses for legitimt for brug. Dette begrænser bekymre sig over ødelagte data eller ulovlige data manipulation af brugeren.
Abstraktion
En fordel ved objektorienteret programmering er, at det fjerner brugeren fra krav om at vide, hvordan andre koden virker . Denne fordel , kaldet abstraktion , betyder, at en bruger at gennemføre et objekt oprettet af en anden programmør til at udføre en bestemt opgave ikke behøver at vide, hvordan objektet fuldfører sin opgave. På denne måde kan brugeren koncentrere sig om deres egne problemer, snarere end at bekymre sig om gennemførelsen af et objekt , de måske ønsker at bruge . Dette gør det muligt for programmører at opbygge større og mere komplekse software over mindre objekter .
Inheritance
anden fordel for objektorienteret programmering er arv , som også tillader programmører til at bygge mere komplekse programmer fra simplere dele. Arv er den måde, hvorpå objekter " arver "-funktionalitet fra andre objekter , tweaking dem der passer til deres behov. For eksempel kan en "lærer " objekt arver sin funktionalitet fra en "person" genstand, fordi læreren er en person, og kræver, at alle funktionerne i den person objekt ( sammen med de ekstra funktioner i en lærer) . Denne måde behøver programmøren af lærerens objektet ikke nødt til at omskrive den person genstand netop at bruge det for læreren objekt , hun kan bare have læreren objekt arver sine funktioner fra den person, objekt
. polymorfi
polymorfi bånd i med arv, idet det er den måde, hvorpå et objekt, der arver fra et andet objekt interagerer med at " base" objekt. For eksempel kan læreren objekt arver visse funktioner fra sin base objekt ( person) , men ændre en af dem. Læreren objekt kan stadig bruge basisklassen funktioner sammen med sin egen version af den funktion, den ændres. Desuden under udførelsen af programmet en bruger kan erklære en variabel til at holde en person objekt, men senere i programmet beslutter, at den har brug for en lærer objekt mere specifikt . I dette tilfælde kan den variable afsat til den person objektet holde en lærer objekt , fordi en lærer arver fra (eller er ) en person objekt.