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