Клас, ААП

З пляцоўкі Вікіпедыя.
Перайсці да: рух, знайсці

Клас — разнавіднасць абстрактнага тыпу дадзеных у аб'ектна-арыентаваным праграмаванні (ААП). Характарызуецца спосабам сваёй пабудовы. Іншыя абстрактныя тыпы дадзеных - метаклассы, інтэрфейсы, структуры, пералічэнні, — характарызуюцца нейкімі сваімі, іншымі асаблівасцямі. Разам з паняццем «аб'екта» клас з'яўляецца ключавым паняццем у ААП (хоць існуюць і бяскласавыя аб'ектна-арыентаваныя мовы, напрыклад, JavaScript; падрабязней глядзіце Прататыпнае праграмаванне). Сутнасць адрознення класаў ад іншых абстрактных тыпаў дадзеных складаецца ў тым, што пры заданні тыпу дадзеных клас вызначае адначасова і інтэрфейс, і рэалізацыю для ўсіх сваіх асобнікаў, а выклік метаду-канструктара абавязковы. Дакладны сэнс гэтай фразы будзе раскрыты ніжэй.

На практыцы аб'ектна-арыентаванае праграмаванне зводзіцца да стварэння некаторай колькасці класаў, уключаючы інтэрфейс і рэалізацыю, і наступнага іх выкарыстання. Графічнае ўяўленне некаторай колькасці класаў і сувязяў паміж імі называецца дыяграмай класаў. Аб'ектна-арыентаваны падыход за час свайго развіцця назапасіў мноства рэкамендацый (патэрнаў) па стварэнні класаў і іерархій класаў.

Ідэя класаў прыйшла з работ па базах ведаў, якія маюць дачыненне да даследаванняў па штучнаму інтэлекту. Класіфікацыі выкарыстоўваюцца чалавекам ў заалогіі, батаніцы, хіміі, дэталях машын, нясуць у сабе асноўную ідэю, што любую рэч заўсёды можна прадставіць прыватным выпадкам некаторага больш агульнага паняцця. Канкрэтны яблык - гэта ў цэлым некаторы яблык, наогул яблык, а любы наогул яблык - фрукт. Менавіта таму прыклады класаў у навучальных дапаможніках па аб'ектна-арыентаваным праграмаванні так часта згадваюць яблыкі і грушы.

Усюды далей словы «клас», «аб'ект», «інтэрфейс» і «структура» будуць выкарыстоўвацца ў сваіх спецыяльных значэннях, зададзеных ў рамках ААП .