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

Изтрито е съдържание Добавено е съдържание
Fix: водещ интервал в препратка редактирано с AWB
м whitespaces
Ред 22:
 
* '''Член-данни''' (data members) – представляват променливи, вградени в обектите, които описват състоянията им.
* '''[[Метод (програмиране)|Методи]]''' (methods) – те са инструментът за изграждане на поведението на обектите. Обект, в [[C Sharp | C # ]], е пример за клас, който се създава динамично. Обект е също ключова дума, която е псевдоним на предварително определения тип System.Object в[[Microsoft .NET Framework | . NET Framework ]].
 
Обектът се състои от членове инстанция, чиято стойност го прави уникален по подобен набор от обекти.
Ред 28:
Когато обектът е инстанция, той се разпределя с блок на паметта и конфигуриран според план, предоставени от този клас, в основата на обекта. Обекти на стойност тип се съхраняват в стека, а тези на референтен тип се разпределят на куп.
 
Концепцията на „обекта“ и обектно-ориентиран подход за програмиране са въведени от [[Списък на езици за програмиране | езика за програмиране ]] „Simula“, издаден през 1967 г.
 
В обектно-ориентираният подход, данните в даден „обект“ трябва да бъдат достъпни единствено чрез своите „[[Метод (програмиране)|методи ]] / функции“ (подпрограми). Това правило прави лесно редактирането на код и гарантира, че данните винаги ще са лесно и бързо достъпни. Синтактично в почти всички обектно-ориентирани езици за програмиране, оператор точка (.) и оператор (поставен между името на обекта и името на полето) се използват, за да се достъпи определен „полетата“ на един „обект“.
Ред 72:
}
</source>
[[File:Scheme.jpg |дясно|Създаване на обект]]
На [[Променлива (програмиране) | променливата ]] '''myLion''' от тип '''Lion''' присвояваме новосъздадена инстанция на класа '''Lion'''.<br> Променливата '''myLion''' стои в [[Стек (структура от данни)|стека ]], а нейната стойност (конкретната инстанция на класа '''Lion''')<br> стои в динамичната памет (managed heap). (''вж схемата'')
 
При създаването на обект с оператора '''new''' се заделя памет и се извършва начална инициализация на данните му. За да стане това се използва специален метод на класа, наречен конструктор.
 
Деконструирането (освобождаването) на „обекти“ става възможно чрез вградената в [[Microsoft .NET Framework | .NET]] [[CLR | CLR]] система за почистване на паметта (garbage collector), която се грижи за освобождаването на неизползвани обекти, вместо това да налага ръчно отстраняване. Обектите, които не са нужни, автоматично се унищожават и паметта, която заемат се освобождава. Ръчното премахване на „ обект“ става по този начин:
<source lang="CSharp">
myLion = null;