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

Изтрито е съдържание Добавено е съдържание
празни редове
Ред 1:
 
 
== Дефиниция ==
 
 
В контекста на [[ Обектно-ориентирано програмиране | обектно-ориентираното програмиране ]], обектът се разбира, като съвкупност от елементи и тяхното поведение. Софтуерните обекти моделират обекти от реалния свят или абстрактни концепции. Примери за реални обекти са животни, растения, коли, сгради, езера и т.н. Абстрактните обекти са понятия в някоя предметна област, които се налага да моделираме и използваме в компютърна програма. Примери за абстрактни обекти са структурите от данни [[ Стек | стек]], [[ Опашка (програмиране) |опашка]], [[ Списък (програмиране) |списък ]] и [[ Дърво (програмиране) |дърво]].
 
 
== Пояснение ==
 
Докато примитивните типове данни са само носители на единични части информация, обектно-ориентирани обекти са сложни типове, които имат няколко части информация и специфични свойства или качества. Вместо само да се присвоява стойност(int = 5, double = , decimal = ), обектите трябва да бъдат построени( [[ Конструктор (обектно-ориeнтирано програмиране) | конструирани ]]). Те са в основата на обектно-ориентираното програмиране и са най-важните типове данни.
 
Line 16 ⟶ 10:
 
Създаването на обект от вече дефиниран клас се нарича "инстанциране" (instantiation). Инстанцията (instance) е реалния обект, който се създава от класа по време на изпълнение на програмата, което означава, че всеки обект е инстанция на конкретен клас. Тази инстанция се характеризира със състояние (state), което представлява множество от стойности, декларирани в елементите на класа.
 
 
== Характеристики на обектите ==
 
В обектите могат да се отделят следните три групи характеристики:
 
Line 25 ⟶ 17:
* '''Поведения''' (behaviors) - това са специфични характерни действия, които обектът може да извършва;
* '''Идентичност''' (Identity) - уникалност на един обект, която го отличава от други обекти.
 
 
== Видове обекти ==
 
Обектите в [[ Обектно-ориентирано програмиране | ООП ]] обединяват данни и средствата за тяхната обработка в едно цяло. Те съответстват на обектите от реалния свят и съдържат в себе си конкретни данни и действия. Характеризират се от два вида:
 
Line 40 ⟶ 30:
 
В обектно-ориентираният подход, данните в даден „обект“ трябва да бъдат достъпни единствено чрез своите "[[ Метод | методи ]] / функции" (подпрограми). Това правило прави лесно редактирането на код и гарантира, че данните винаги ще са лесно и бързо достъпни. Синтактично в почти всички обектно-ориентирани езици за програмиране, оператор точка (.) и оператор (поставен между името на обекта и името на полето) се използват, за да се достъпи определен „полетата“ на един „обект“.
 
 
== Създаване и освобождаване на обекти в [[C#]] ==
 
Създаването на обекти от предварително дефинирани класове по време на изпълнението на програмата става чрез оператора '''new'''. Новосъздаденият обект обикновено се присвоява на променлива от тип, съвпадащ с класа на обекта. При това присвояване същинският обект не се копира, а в променливата се записва само референция към новосъздадения обект (неговият адрес в паметта). Следва прост пример как става това:
 
Line 101 ⟶ 89:
 
=== Извикване на методи на обект ===
 
Извикването на методите на даден обект става чрез оператора "'''.'''" (точка). Операторът точка не е нужен единствено в случай, че [[ Метод | метода ]] се вика в друг метод от същия клас.
 
 
== Използвана литература ==
Line 110 ⟶ 96:
 
== Сродни статии ==
 
 
* [[Метод]]
* [[Клас (програмиране)]]
* [[Обектно-ориентирано програмиране]]
 
 
 
 
 
 
[[Категория:Програмни конструкции]]