Кляса (праграмаваньне): розьніца паміж вэрсіямі

Змесціва выдалена Змесціва дададзена
д робат дадаў: tr:Sınıf (programlama)
выпраўленьне спасылак
Радок 1:
{{Іншыя значэньні|Кляса}}
У [[аб'ектна-арыентаванае праграмаваньне|аб'ектна арыентаваным праграмаваньні]] '''кляса''' — канструкцыя [[мова праграмаваньня|мовы праграмаваньня]], якая выкарыстоўваецца для групаваньня зьвязаных [[поле (праграмаваньне)|палёў]] і [[мэтад (праграмаваньне)|мэтадаў]] і пад якой разумеецца пэўная сутнасьць, якая вызначае пэўныя агульныя паводзіны для [[аб'ект (праграмаваньне)|аб'ектаўаб’ектаў]]. Мэтад, які ў пэўных мовах праграмаваньня называецца функцыяй, — набор інструкцыйінструкцыяў, якія маюць дачыненьне да клясы. У залежнасьці ад мовы праграмаваньня, клясы могуць падтрымліваць [[множнае спадкаваньне|множнае]] [[спадкаваньне (праграмаваньне)|спадкаваньне]] або патрабаваць выкарыстаньне [[інтэрфэйс (праграмаваньне)|інтэрфэйсаў]] для пашырэньня іншых клясаў. Таксама кляса можа проста паказваць, што пэўны мэтад існуе. Такія клясы вядомыя як «абстрактныя клясы».
 
У [[аб'ектна-арыентаванае праграмаваньне|аб'ектна арыентаваным праграмаваньні]] '''кляса''' — канструкцыя [[мова праграмаваньня|мовы праграмаваньня]], якая выкарыстоўваецца для групаваньня зьвязаных [[поле (праграмаваньне)|палёў]] і [[мэтад (праграмаваньне)|мэтадаў]] і пад якой разумеецца пэўная сутнасьць, якая вызначае пэўныя агульныя паводзіны для [[аб'ект (праграмаваньне)|аб'ектаў]]. Мэтад, які ў пэўных мовах праграмаваньня называецца функцыяй, — набор інструкцый, якія маюць дачыненьне да клясы. У залежнасьці ад мовы праграмаваньня, клясы могуць падтрымліваць [[множнае спадкаваньне|множнае]] [[спадкаваньне (праграмаваньне)|спадкаваньне]] або патрабаваць выкарыстаньне [[інтэрфэйс (праграмаваньне)|інтэрфэйсаў]] для пашырэньня іншых клясаў. Таксама кляса можа проста паказваць, што пэўны мэтад існуе. Такія клясы вядомыя як «абстрактныя клясы».
 
Фактычна [[аб'ектна-арыентаванае праграмаваньне]] часьцей за ўсё зводзіцца да стварэньня пэўнага набору клясаў, апісаньня сувязяў паміж гэтымі клясамі і іх уласьцівасьцяў і далейшага выкарыстаньня атрыманых клясаў. [[аб'ектна-арыентаванае праграмаваньне|Аб'ектна-арыентаваны падыход]] падчас свайго разьвіцьця накапіў мноства рэкамэндацыяў ([[шаблёны праектаваньня|шаблёнаў праектаваньня]]) па стварэньні клясаў і гіерархій клясаў.
 
== Структура клясаў ==
 
У шматлікіх [[аб'ектна-арыентаваная мова праграмаваньня|аб'ектна-арыентаваных мовах праграмаваньня]] стварэньне клясы адбываецца шляхам напісаньня пэўнай структуры, якая ўтрымлівае набор палёў, мэтадаў і канструктараў.
 
Функцыі [[канструктар (праграмаваньне)|канструктара]] і [[дэструктар (праграмаваньне)|дэструктара]] ў рэалізацыі клясы прызначаныя для стварэньня і разбурэньня [[аб'ект (праграмаваньне)|аб'ектаў]] клясы. Асноўная функцыя канструктара — стварыць правільны экзэмпляр клясы. Асноўная функцыя дэструктара — разбурыць аб'ект і прыбраць усе спасылкі на яго ў [[праграма|праграме]].
 
[[полеПоле (праграмаваньне)|Палі]] прызначаныя для захоўваньня ўнутраных дадзеных клясы, а [[мэтад (праграмаваньне)|мэтады]] — для іхнай апрацоўкі, рэалізацыі лёгікі і ўзаемадзеяньня зь іншымі клясамі.
 
У клясе таксама могуць быць рэалізаваныя дапаможныя функцыі, якія часам называюцца функцыямі клясы або статычнымі мэтадамі. Статычныя функцыі часта выкарыстоўваюцца, каб знайсьці, стварыць ці разбурыць экзэмпляр клясы. Канструктары і дэструктары часам бываюць статычнымі. Часта мэханізмы перасылкі аб'екта ў іншае месца ці функцыі зьмены клясы аб'екта робяцца статычнымі.
Радок 160 ⟶ 158:
</source>
 
=== [[C Sharp|C#]] ===
==== Прыклад 1 ====
<source lang="csharp">
Радок 174 ⟶ 172:
</source>
 
Гэты прыклад дэманструе традыцыйна прыклад «Hello world!» на мове [[C Sharp|C#]]. Кляса Program складаецца з адзінага статычнага мэтада Main(), які выклікае System.Console.WriteLine, каб вывесьці тэкст на кансоль.
 
==== Прыклад 2 ====
Радок 207 ⟶ 205:
Гэта згаданы вышэй прыклад на мове C++, перапісаны на мове C#. Кляса, якая называецца Hello, ствараецца канструктарам, які прымае радковы парамэтар. Калі выклікаецца мэтад Say(), экзэмпляр клясы Hello выведзе «Hello {what}!» на кансоль. Тут варта зьвярнуць увагу на тое, што мэтад Main() (кропка ўваходу) утрымліваецца ў самой клясе.
 
=== [[Object Pascal]]/[[Delphi (мова праграмаваньня)|Delphi]] ===
<source lang="delphi">
type