Објектно-ориентирано програмирање: Разлика помеѓу преработките

[непроверена преработка][непроверена преработка]
Избришана содржина Додадена содржина
с Бот: козметички промени
с Бот менува: кое што -> коешто, кој што -> којшто, сеуште -> сѐ уште, можи -> може
Ред 7:
== Краток преглед ==
 
Почетоците на ООП може да се пронајдат во 1960те. Како што хардверот и софтверот стануваше се посложен, квалитетот често беше компромитиран. Истражувачите бараа начини да го задржат квалитетот на софтверот и да го развиваат ООП и да посветат внимание на честите проблеми и посебно силно нагласување на повеќекратните единици од програмската логика. Методологијата се фокусира повеќе на податоци отколку на процеси, со програми составени од самостојни модули (објекти) секој си содржи сите информации потребни за да манипулира со сопствената податочна структура. Тоа е спротивно со постоечкото модуларно програмирање што беше доминатно многу години и се фокусираше на функциите од модулите повеќе отколку на податоците но исто така обезбедуваше повеќекратна употреба на кодот и повеќекратна употреба на самостојните единици од програмската логика, овозможуваше соработка преку употреба на поврзани модули (потпрограми). Овој конвенционален пристап, којкојшто штосѐ сеуштеуште постои, насочен е да ги третира податоците и однесувањата посебно.
 
На објектно-ориентирана програма може да се гледан како на колекција од кооперативни објекти, за разлика од вообичаениот модел, во кој штокојшто на програмата се гледан како на листа од задачи (потпрограми) што пред да се извршат. Во ООП секој објект е способен да прими порака, обработи податок и да прати поракана друг објект и на на него можиможе да се гледа како на независна “машина“ со посебна улога или одговорност. Операторите на тие објекти се тесно поврзани со објектот. На пример, структурите на податоци имаат тенденција ка ги носат нивните оератори со нив (или барем да ги “наследат“ нив од слични објекти или класи).
 
Програмскиот јазик Simula беше привиот јазик што воведе ООП концепти (објекти, класи, поткласи, виртуелни методи, coroutines и посебна симулација на настан) како дел од Algol. Simula исто така користеше автоматско собирање на ѓубре кое штокоешто претходно беше измислено за фнкционалниот програмски јазик Lisp. Simula се сористеше за физичко моделирање, како на пример модели за изучување и подобрување на движењето на бродовите и нивниот товар низ товарните портите. Smalltalk беше првиот јазик кој штокојшто беше наречен “објектно-ориентиран“.
 
== Историја ==
 
Концептот од објекти и instances го имаше своето прво големо пробивање со PDP-1 системот на MIT што најверојатно беше првиот пример на capability based architecture. Меѓу првите примери беше и Sketchpad создадено од Ivan Sutherland во 1963 година. Како и да било, ова е апликација а не програмска парадигма. Објектите како програмски entities биле воведени во 1960те во Simula 67, програмиски јазик дизајниран за правење симулации, создаден од Ole-Johan Dahl и Kristen Nygaard од Норвешкиот компјутерски центар во Осло. (Тие работеа на симулации на бродови и биле збунети од combinatorial експлозии и тоа како различни особини од различни бродови можат да делуваат еден на друг. Идеата била да се групираат различни типови на бродови во различни класи од објекти, секоја класа од објекти е одговорна за дефинирање на сопствените податоци и однесувања.) Таквиот пристап проста екстраполација ан концепти претходно користени во аналогното програмирање. На аналогните компјутери, мапирањето од real-world phenomena/objects во analog phenomena/objects (и обратно), беше (и сеуштесѐ уште е) наречено “симулација“ . Simula не само што ја воведе идеата за класи туку исто така воведе и instances од класи, што веројатно е и првата употреба на овие замисли. Идеите од Simula 67 на многу од подоцнежните јазици, посебно на Smalltalk и други јазизи зведени од Lisp и Pascal.
 
Програмскиот јазик Smalltalk што беше развиван во Xerox PARC (од страна на Alan Kay и други личности) во 1970ти години, го воведе терминот објектно-ориентирано програмирање