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

Изтрито е съдържание Добавено е съдържание
м неправилно членуване - предлог и пълен член; козметични промени
м неправилно членуване - предлог и пълен член; козметични промени
Ред 3:
'''Класът''' е една от характеристиките на [[обектно-ориентирано програмиране|обектно-ориентираното програмиране]]. Това е съвкупност от [[променлива (програмиране)|променливи]] и [[функция (програмиране)|функции]], които са обвързани в логическа структура и работят заедно. Класът служи като модел за представяне на реални обекти и софтуерни обекти, описвайки атрибути (свойства) и методи (поведение) на обектите.
 
== Дизайн и приложение ==
== Взаимовръзки между класовете ==
Като допълнение към дизайна на самостоятелните класове, езиците за програмиране могат да поддържат по-сложен дизайн въз основа на връзки между класовете. Най-често срещаните типове междукласови връзки са композиционни и йерархични.
Line 11 ⟶ 10:
 
=== Йерархична ===
Класове могат да произлизат от един или повече вече съществуващи класове, формирайки по този начин йерархична взаимовръзка между първоизточниците (базови класове, бащини класове или супер-класове) и произлизащите класове (наследствени класове, суб-класове). Взаимовръзката между наследственият клас и базовият клас е широко известна, като „е“ връзка. Например, клас „Бутон“ може да произлиза от клас „Контрола“. Следователно, всеки Бутон е Контрола. Структурните и поведенчески членове на бащиния клас се унаследяват от наследствениятнаследствения клас. Наследствените класове могат да имат в себе си дефинирани допълнителни структурни членове (полета данни) и/или поведенчески членове (методи), в допълнение към наследените такива. Също така в някои езици за програмиране е позволено, суб-класовете да отменят и/или предефинират наследени методи.
 
Не всички езици позволяват множествено наследяване. Например Java позволява даден клас да имплементира множество интерфейси, но да наследява от само един клас. В случай, че множественото наследяване е позволено, йерархията е тип насочен ацикличен граф (или НАГ за по-кратко), в противен случай е тип дърво. В йерархията класовете играят ролята на възли, а унаследяванията – на връзки. Нивата на тази йерархия се наричат слоеве или слоеве на абстракция (нива на абстракция).