b'\n_START_ARTICLE_\nObjektorienterad programmering\n_START_SECTION_\nObjekt\n_START_PARAGRAPH_\nEtt objekt \xc3\xa4r en instans av en klass, det vill s\xc3\xa4ga ett slags simulering av en f\xc3\xb6reteelse som anv\xc3\xa4nds inom objektorienterad programmering f\xc3\xb6r att samla data och kod som h\xc3\xb6r ihop. Ett objekt kan till exempel vara en bok i ett program som anv\xc3\xa4nds p\xc3\xa5 ett bibliotek f\xc3\xb6r att hantera utl\xc3\xa5ning. Boken har ett antal egenskaper som beskrivs av dess attribut (f\xc3\xb6rfattare, titel, antal sidor, egenskapen att vara utl\xc3\xa5nad eller tillg\xc3\xa4nglig till exempel) och ett antal metoder som kan anv\xc3\xa4ndas f\xc3\xb6r att h\xc3\xa4mta eller \xc3\xa4ndra information (man kanske vill veta f\xc3\xb6rfattare till boken, eller \xc3\xa4ndra status som utl\xc3\xa5nad eller tillg\xc3\xa4nglig). Ett annat objekt skulle kunna vara en l\xc3\xa5ntagare som d\xc3\xa5 kan ha en samling b\xc3\xb6cker som den l\xc3\xa5nat som attribut och metoder f\xc3\xb6r att l\xc3\xa5na och l\xc3\xa4mna tillbaka b\xc3\xb6cker. _NEWLINE_Objektorientering handlar mycket om att designa de objekttyper, s\xc3\xa5 kallade klasser, som beh\xc3\xb6vs. N\xc3\xa4r ett program k\xc3\xb6rs skapar det, ibland med hj\xc3\xa4lp av anv\xc3\xa4ndaren, s\xc3\xa5 m\xc3\xa5nga objekt av dessa klasser som beh\xc3\xb6vs.\n_START_SECTION_\nAttribut\n_START_PARAGRAPH_\nEtt attribut \xc3\xa4r en variabel eller konstant som beskriver en egenskap hos ett objekt. Ett attribut ges ett namn s\xc3\xa5 att det kan anropas/anv\xc3\xa4ndas i programmet. Beroende p\xc3\xa5 programmeringsspr\xc3\xa5k s\xc3\xa5 kan man ocks\xc3\xa5 beh\xc3\xb6va ange typ f\xc3\xb6r attributet (heltal, flyttal, en pekare eller en textstr\xc3\xa4ng till exempel) och det \xc3\xa4r ofta ocks\xc3\xa5 m\xc3\xb6jligt att ange olika sekretessniv\xc3\xa5er f\xc3\xb6r attribut. Detta f\xc3\xb6r att hindra eller \xc3\xb6ppna upp f\xc3\xb6r \xc3\xa5tkomst av andra delar av programmet som vill veta vad attributet har f\xc3\xb6r v\xc3\xa4rde eller namn.\n_START_SECTION_\nHistoria\n_START_PARAGRAPH_\nOOP-konceptet tillkom p\xc3\xa5 slutet av 1960-talet genom norrm\xc3\xa4nnen Kristen Nygaard och Ole-Johan Dahls arbete med programspr\xc3\xa5ket Simula. F\xc3\xb6r detta fick de b\xc3\xa5da Turingpriset 2001. _NEWLINE_Delvis har OOP inneburit ett paradigmskifte inom programmering, och kan p\xc3\xa5 s\xc3\xa5 s\xc3\xa4tt j\xc3\xa4mf\xc3\xb6ras med till exempel strukturerad programmering, som lanserades i slutet av 1970-talet. V\xc3\xa4sentligen inneb\xc3\xa4r OOP ett \xc3\xb6kat fokus p\xc3\xa5 de data och begrepp som anv\xc3\xa4nds, snarare \xc3\xa4n de processer som ska genomf\xc3\xb6ras med dessa data._NEWLINE_OOP har tidvis anv\xc3\xa4nts, och missbrukats, som ett marknadsf\xc3\xb6ringsbegrepp, och har d\xc3\xa5 f\xc3\xa5tt t\xc3\xa4cka flera olika metoder att modularisera och dela upp program. Beroende p\xc3\xa5 vilket programmeringsspr\xc3\xa5k som har anv\xc3\xa4nts, har olika detaljer i och tolkningar av de grundl\xc3\xa4ggande begreppen betonats och h\xc3\xa4vdats vara v\xc3\xa4sentliga. Det har till exempel f\xc3\xb6rekommit diskussioner huruvida multipelt arv \xc3\xa4r n\xc3\xb6dv\xc3\xa4ndigt f\xc3\xb6r OOP, och om s\xc3\xa5 kallad "dynamisk bindning" eller "sen binding" kr\xc3\xa4vs f\xc3\xb6r att uppn\xc3\xa5 de efterstr\xc3\xa4vade f\xc3\xb6rdelarna med OOP. Begreppet Object-Based Programming (ist\xc3\xa4llet f\xc3\xb6r Object-Oriented Programming, OOP) har myntats f\xc3\xb6r programmeringsspr\xc3\xa5k som inte st\xc3\xb6der alla delar i OOP-paradigmen t.ex. 1983 ISO-standarden av Ada (1995 blev Ada v\xc3\xa4rldens f\xc3\xb6rsta ISO-standardiserade objektorienterade programmeringsspr\xc3\xa5k).'