Обект (програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
мРедакция без резюме
Fix: водещ интервал в препратка редактирано с AWB
Ред 7:
Обектите се използват в разработката на [[софтуер]], като се вграждат абстрактни [[Структура от данни|структури от данни]], които обединяват различни компоненти с действията, които ги манипулират. Жизненият цикъл на обектите трае от конструирането им до тяхната деконструкция. Използването на обекта е препоръчително, когато има изискване за изграждане на генерични съчетания, тъй като стойностите на всякакъв вид данни могат да бъдат причислени към променливи от тип обект. Също така те са от ключово значение в концепцията за [[наследственост (програмиране)|унаследяването]] на данни, подобрявайки по този начин надеждността и поддръжката на софтуерната програма.
 
Обектите се използват предимно при конструирането на „[[клас (програмиране)|класове]]“, така се позволява лесен и бърз достъп до информацията заложена в различни „колекции“ ([[ Библиотека (програмиране)|библиотеки]]), изградени като: [[Масив (програмиране)|Array]], List, [[Опашка_(програмиране)|Queue]] и т. н., за да бъдат използвани многократно. Всеки обект е представител на точно един [[клас (програмиране)|клас]] и е създаден по неговия шаблон.
 
Създаването на обект от вече дефиниран клас се нарича „инстанциране“ (instantiation). Инстанцията (instance) е реалния обект, който се създава от класа по време на изпълнение на програмата, което означава, че всеки обект е инстанция на конкретен клас. Тази инстанция се характеризира със състояние (state), което представлява множество от стойности, декларирани в елементите на класа.
Ред 19:
 
== Видове обекти ==
Обектите в [[ Обектно-ориентирано програмиране | ООП ]] обединяват данни и средствата за тяхната обработка в едно цяло. Те съответстват на обектите от реалния свят и съдържат в себе си конкретни данни и действия. Характеризират се от два вида:
 
* '''Член-данни''' (data members) – представляват променливи, вградени в обектите, които описват състоянията им.
* '''[[Метод (програмиране)|Методи]]''' (methods) – те са инструментът за изграждане на поведението на обектите. Обект, в [[ C Sharp | C # ]], е пример за клас, който се създава динамично. Обект е също ключова дума, която е псевдоним на предварително определения тип System.Object в[[ Microsoft .NET Framework | . NET Framework ]].
 
Обектът се състои от членове инстанция, чиято стойност го прави уникален по подобен набор от обекти.
Ред 28:
Когато обектът е инстанция, той се разпределя с блок на паметта и конфигуриран според план, предоставени от този клас, в основата на обекта. Обекти на стойност тип се съхраняват в стека, а тези на референтен тип се разпределят на куп.
 
Концепцията на „обекта“ и обектно-ориентиран подход за програмиране са въведени от [[ Списък на езици за програмиране | езика за програмиране ]] „Simula“, издаден през 1967 г.
 
В обектно-ориентираният подход, данните в даден „обект“ трябва да бъдат достъпни единствено чрез своите „[[Метод (програмиране)|методи ]] / функции“ (подпрограми). Това правило прави лесно редактирането на код и гарантира, че данните винаги ще са лесно и бързо достъпни. Синтактично в почти всички обектно-ориентирани езици за програмиране, оператор точка (.) и оператор (поставен между името на обекта и името на полето) се използват, за да се достъпи определен „полетата“ на един „обект“.
Ред 73:
</source>
[[File:Scheme.jpg |дясно|Създаване на обект]]
На [[ Променлива (програмиране) | променливата ]] '''myLion''' от тип '''Lion''' присвояваме новосъздадена инстанция на класа '''Lion'''.<br> Променливата '''myLion''' стои в [[Стек (структура от данни)|стека ]], а нейната стойност (конкретната инстанция на класа '''Lion''')<br> стои в динамичната памет (managed heap). (''вж схемата'')
 
При създаването на обект с оператора '''new''' се заделя памет и се извършва начална инициализация на данните му. За да стане това се използва специален метод на класа, наречен конструктор.