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

Од Википедија — слободната енциклопедија
[непроверена преработка][непроверена преработка]
Избришана содржина Додадена содржина
Креирана страница со: Објектно-ориентираното програмирање (ООП) е програмска парадигма која што користи “о...
 
Нема опис на уредувањето
Ред 1: Ред 1:
{{внимание}}
Објектно-ориентираното програмирање (ООП) е програмска парадигма која што користи “објекти“ – структури на податоци составени од datafields и методи – и нивната интеракција за дизајнирање на апликации и компјутерски програми. Техниките на програмирање можат да вклучуваат и карактеристики како што се криење на информации, податочна абстракција, encapsulation, модуларност, полиморфизам и наследување. ООП не беше често користен во развојот на апликации со до 1990те. Многу од модерните програмски јазици сега подржуваат ООП.
Објектно-ориентираното програмирање (ООП) е програмска парадигма која што користи ''објекти'' – структури на податоци составени од datafields и методи – и нивната интеракција за дизајнирање на апликации и компјутерски програми. Техниките на програмирање можат да вклучуваат и карактеристики како што се криење на информации, податочна абстракција, encapsulation, модуларност, полиморфизам и наследување. ООП не беше често користен во развојот на апликации со до 1990те. Многу од модерните програмски јазици сега подржуваат ООП.


Краток преглед
==Краток преглед==


Почетоците на ООП може да се пронајдат во 1960те. Како што хардверот и софтверот стануваше се посложен, квалитетот често беше компромитиран. Истражувачите бараа начини да го задржат квалитетот на софтверот и да го развиваат ООП и да посветат внимание на честите проблеми и посебно силно нагласување на повеќекратните единици од програмската логика. Методологијата се фокусира повеќе на податоци отколку на процеси, со програми составени од самостојни модули (објекти) секој си содржи сите информации потребни за да манипулира со сопствената податочна структура. Тоа е спротивно со постоечкото модуларно програмирање што беше доминатно многу години и се фокусираше на функциите од модулите повеќе отколку на податоците но исто така обезбедуваше повеќекратна употреба на кодот и повеќекратна употреба на самостојните единици од програмската логика, овозможуваше соработка преку употреба на поврзани модули (потпрограми). Овој конвенционален пристап, кој што сеуште постои, насочен е да ги третира податоците и однесувањата посебно.
Почетоците на ООП може да се пронајдат во 1960те. Како што хардверот и софтверот стануваше се посложен, квалитетот често беше компромитиран. Истражувачите бараа начини да го задржат квалитетот на софтверот и да го развиваат ООП и да посветат внимание на честите проблеми и посебно силно нагласување на повеќекратните единици од програмската логика. Методологијата се фокусира повеќе на податоци отколку на процеси, со програми составени од самостојни модули (објекти) секој си содржи сите информации потребни за да манипулира со сопствената податочна структура. Тоа е спротивно со постоечкото модуларно програмирање што беше доминатно многу години и се фокусираше на функциите од модулите повеќе отколку на податоците но исто така обезбедуваше повеќекратна употреба на кодот и повеќекратна употреба на самостојните единици од програмската логика, овозможуваше соработка преку употреба на поврзани модули (потпрограми). Овој конвенционален пристап, кој што сеуште постои, насочен е да ги третира податоците и однесувањата посебно.


На објектно-ориентирана програма може да се гледан како на колекција од кооперативни објекти, за разлика од вообичаениот модел, во кој што на програмата се гледан како на листа од задачи (потпрограми) што пред да се извршат. Во ООП секој објект е способен да прими порака, обработи податок и да прати поракана друг објект и на на него можи да се гледа како на независна “машина“ со посебна улога или одговорност. Операторите на тие објекти се тесно поврзани со објектот. На пример, структурите на податоци имаат тенденција ка ги носат нивните оератори со нив (или барем да ги “наследат“ нив од слични објекти или класи).
На објектно-ориентирана програма може да се гледан како на колекција од кооперативни објекти, за разлика од вообичаениот модел, во кој што на програмата се гледан како на листа од задачи (потпрограми) што пред да се извршат. Во ООП секој објект е способен да прими порака, обработи податок и да прати поракана друг објект и на на него можи да се гледа како на независна “машина“ со посебна улога или одговорност. Операторите на тие објекти се тесно поврзани со објектот. На пример, структурите на податоци имаат тенденција ка ги носат нивните оератори со нив (или барем да ги ''наследат'' нив од слични објекти или класи).


Програмскиот јазик Simula беше привиот јазик што воведе ООП концепти (објекти, класи, поткласи, виртуелни методи, coroutines и посебна симулација на настан) како дел од Algol. Simula исто така користеше автоматско собирање на ѓубре кое што претходно беше измислено за фнкционалниот програмски јазик Lisp. Simula се сористеше за физичко моделирање, како на пример модели за изучување и подобрување на движењето на бродовите и нивниот товар низ товарните портите. Smalltalk беше првиот јазик кој што беше наречен “објектно-ориентиран“.
Програмскиот јазик 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.
Концептот од објекти и 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ти години, го воведе терминот објектно-ориентирано програмирање
Програмскиот јазик Smalltalk што беше развиван во Xerox PARC (од страна на Alan Kay и други личности) во 1970ти години, го воведе терминот објектно-ориентирано програмирање.

== Надворешни врски ==
* [http://www.dreamincode.net/forums/blog/gabehabe/index.php?showentry=1016 Programming Styles: Procedural, OOP, and AOP]
* [http://programmersnotes.info/2009/02/28/what-is-oop-object-oriented-programming/ What is OOP? (Tutorial on OOP in PHP)]
* [http://software.intel.com/en-us/blogs/2008/08/22/flaws-of-object-oriented-modeling/ Discussion about the flaws of OOD]


[[Category:Програмски јазици]]
[[Category:Програмирање]]

{{Link FA|vi}}
[[af:Objekgeoriënteerde programmering]]
[[ar:برمجة كائنية التوجه]]
[[bn:অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং]]
[[be-x-old:Аб'ектна-арыентаванае праграмаваньне]]
[[bs:Objektno orijentisano programiranje]]
[[bg:Обектно-ориентирано програмиране]]
[[ca:Programació orientada a objectes]]
[[cs:Objektově orientované programování]]
[[da:Objektorienteret programmering]]
[[de:Objektorientierte Programmierung]]
[[el:Αντικειμενοστρεφής προγραμματισμός]]
[[es:Programación orientada a objetos]]
[[eo:Objektema programado]]
[[eu:Objektuei orientatutako programazio]]
[[fa:برنامه‌نویسی شیءگرا]]
[[fr:Programmation orientée objet]]
[[gl:Programación orientada a obxectos]]
[[ko:객체 지향 프로그래밍]]
[[hr:Objektno orijentirano programiranje]]
[[io:Objektema programado]]
[[id:Pemrograman berorientasi objek]]
[[is:Hlutbundin forritun]]
[[it:Programmazione orientata agli oggetti]]
[[he:תכנות מונחה עצמים]]
[[ka:ობიექტურად ორიენტირებული პროგრამირება]]
[[lt:Objektinis programavimas]]
[[hu:Objektumorientált programozás]]
[[ms:Pengaturcaraan berorientasi objek]]
[[nl:Objectgeoriënteerd]]
[[ja:オブジェクト指向]]
[[no:Objektorientert programmering]]
[[pl:Programowanie obiektowe]]
[[pt:Orientação a objetos]]
[[ro:Programare orientată pe obiecte]]
[[ru:Объектно-ориентированное программирование]]
[[sq:Programimi i orientuar në objekte]]
[[scn:Prugrammazzioni urientata all'uggetta]]
[[simple:Object-oriented programming]]
[[sk:Objektové programovanie]]
[[sr:Објектно-оријентисано програмирање]]
[[sh:Objektno orijentisano programiranje]]
[[fi:Olio-ohjelmointi]]
[[sv:Objektorienterad programmering]]
[[ta:பொருள் நோக்கு நிரலாக்கம்]]
[[th:การเขียนโปรแกรมเชิงวัตถุ]]
[[tr:Nesne Yönelimli Programlama]]
[[uk:Об'єктно-орієнтоване програмування]]
[[ur:برمجہ شئے التوجہ]]
[[vi:Lập trình hướng đối tượng]]
[[wuu:面向对象程式编制]]
[[zh:面向对象程序设计]]

Преработка од 13:56, 26 август 2009

Објектно-ориентираното програмирање (ООП) е програмска парадигма која што користи објекти – структури на податоци составени од datafields и методи – и нивната интеракција за дизајнирање на апликации и компјутерски програми. Техниките на програмирање можат да вклучуваат и карактеристики како што се криење на информации, податочна абстракција, encapsulation, модуларност, полиморфизам и наследување. ООП не беше често користен во развојот на апликации со до 1990те. Многу од модерните програмски јазици сега подржуваат ООП.

Краток преглед

Почетоците на ООП може да се пронајдат во 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ти години, го воведе терминот објектно-ориентирано програмирање.

Надворешни врски

Предлошка:Link FA