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

Изтрито е съдържание Добавено е съдържание
BotNinja (беседа | приноси)
[A|A] → [A]
м Бот: Козметични промени
Ред 4:
== Пояснение ==
Докато примитивните типове данни са само носители на единични части информация, обектно-ориентирани обекти са сложни типове, които имат няколко части информация и специфични свойства или качества. Вместо само да се присвоява стойност (int = 5, double =, decimal = ), обектите трябва да бъдат построени ([[Конструктор (обектно-ориентирано програмиране)|конструирани]]). Те са в основата на обектно-ориентираното програмиране и са най-важните типове данни.
[[Файл:Programming Object Lion.png|750px|centerцентър|Object – Lion.png]]
 
Обектите се използват в разработката на [[софтуер]], като се вграждат абстрактни [[Структура от данни|структури от данни]], които обединяват различни компоненти с действията, които ги манипулират. Жизненият цикъл на обектите трае от конструирането им до тяхната деконструкция. Използването на обекта е препоръчително, когато има изискване за изграждане на генерични съчетания, тъй като стойностите на всякакъв вид данни могат да бъдат причислени към променливи от тип обект. Също така те са от ключово значение в концепцията за [[наследственост (програмиране)|унаследяването]] на данни, подобрявайки по този начин надеждността и поддръжката на софтуерната програма.
 
Обектите се използват предимно при конструирането на „[[клас (програмиране)|класове]]“, така се позволява лесен и бърз достъп до информацията заложена в различни „колекции“ ([[Библиотека (програмиране)|библиотеки]]), изградени като: [[Масив (програмиране)|Array]], List, [[Опашка_Опашка (програмиране)|Queue]] и т. н., за да бъдат използвани многократно. Всеки обект е представител на точно един [[клас (програмиране)|клас]] и е създаден по неговия шаблон.
 
Създаването на обект от вече дефиниран клас се нарича „инстанциране“ (instantiation). Инстанцията (instance) е реалния обект, който се създава от класа по време на изпълнение на програмата, което означава, че всеки обект е инстанция на конкретен клас. Тази инстанция се характеризира със състояние (state), което представлява множество от стойности, декларирани в елементите на класа.
Ред 33:
В обектно-ориентираният подход, данните в даден „обект“ трябва да бъдат достъпни единствено чрез своите „[[Метод (програмиране)|методи]] / функции“ (подпрограми). Това правило прави лесно редактирането на код и гарантира, че данните винаги ще са лесно и бързо достъпни. Синтактично в почти всички обектно-ориентирани езици за програмиране, оператор точка (.) и оператор (поставен между името на обекта и името на полето) се използват, за да се достъпи определен „полетата“ на един „обект“.
 
== Създаване и освобождаване на обекти в [[:bg:C_SharpC Sharp|C#]] ==
Създаването на обекти от предварително дефинирани класове по време на изпълнението на програмата става чрез оператора '''new'''. Новосъздаденият обект обикновено се присвоява на променлива от тип, съвпадащ с класа на обекта. При това присвояване същинският обект не се копира, а в променливата се записва само референция към новосъздадения обект (неговият адрес в паметта). Следва прост пример как става това:
 
Ред 73:
}
</source>
[[FileФайл:Scheme.jpg|дясно|Създаване на обект]]
На [[Променлива (програмиране)|променливата]] '''myLion''' от тип '''Lion''' присвояваме новосъздадена инстанция на класа '''Lion'''.<br> Променливата '''myLion''' стои в [[Стек (структура от данни)|стека]], а нейната стойност (конкретната инстанция на класа '''Lion''')<br> стои в динамичната памет (managed heap). (''вж схемата'')
 
Ред 137:
</source>
 
== Създаване и освобождаване на обекти в [[:bg:PHP|PHP]] ==
<source lang="php">
<?php
Ред 144:
public $age;
public $sex;
 
function set_age($inputAge)
{
Ред 208:
 
{{Типове данни}}
 
[[Категория:Програмни конструкции]]
[[Категория:Обектно-ориентирано програмиране]]