Клас (праграмаванне)

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

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

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

 Спасылкі 
 Creating Classes — Кіраўніцтва па стварэнні класаў у мове Java

Катэгорыя:Аб’ектна-арыентаванае праграмаванне
Катэгорыя:Структуры даных