www.wikidata.uk-ua.nina.az
U Vikipediyi ye statti pro inshi znachennya cogo termina Vlastivist znachennya Vlastivist sposib dostupu do vnutrishnogo stanu ob yekta sho imituye zminnu pevnogo tipu Zvernennya do vlastivosti ob yekta viglyadaye tak samo yak i zvernennya do strukturnogo polya v strukturnomu programuvanni ale v dijsnosti realizovane cherez viklik funkciyi Pri sprobi zadati znachennya danoyi vlastivosti viklikayetsya odin metod a pri sprobi otrimati znachennya danoyi vlastivosti inshij Pri vikoristanni vlastivostej mozhna zadati znachennya za umovchannyam yake zberigatimetsya v cij yakosti abo vkazati sho niyakogo znachennya za umovchannyam ne peredbachayetsya mozhna vkazati sho ce vlastivist tilki dlya chitannya Yak pravilo vlastivist pov yazana z deyakim vnutrishnim polem ob yekta Ale vlastivosti vzagali mozhe ne buti postavlena u vidpovidnist zhodna zminna ob yekta hocha koristuvach danogo ob yekta pracyuye z nim tak nibi ce spravzhnye pole Vlastivosti pidvishuyut gnuchkist i bezpeku programuvannya oskilki buduchi chastinoyu vidkritogo interfejsu dozvolyayut zminyuvati vnutrishnyu realizaciyu ob yekta bez zmini jogo vlastivostej Vlastivosti znachno polegshuyut modifikaciyu programi v tih vipadkah koli klas spochatku bulo realizovano z porushennyam inkapsulyaciyi a nadali potribno zminiti sposib dostupu do polya Pri vidsutnosti v movi mehanizmu vlastivostej dovelosya b shukati i zaminyuvati zvernennya do poliv na metodi dostupu Zmist 1 Metodi vlastivostej 2 Prikladi 2 1 Vlastivosti v C 2 2 Vlastivosti v VB NET 2 3 Vlastivosti v Delphi 2 4 Vlastivosti v ActionScript 2 5 Vlastivosti v Objective C 2 6 Vlastivosti v Ruby 2 7 Vlastivosti v Python 3 Div takozhMetodi vlastivostej RedaguvatiU bagatoh movah programuvannya vlastivosti realizuyutsya u viglyadi pari metodiv metod yakij oderzhuye potochne znachennya vlastivosti nazivayetsya akcesor accessor metod sho zadaye nove znachennya vlastivosti mutator mutator U movah programuvannya sho ne pidtrimuyut vlastivostej napriklad C i Java para z akcesora i mutatoriv ye zagalnoprijnyatim surogatom dlya yih zamini Prijnyato nazivati metodi vlastivostej nazvoyu vlastivosti z prefiksami get i set napriklad dlya vlastivosti Xyzzy get Xyzzy i set Xyzzy tradicijnij stil Si abo GetXyzzy i SetXyzzy stil CamelCase V zv yazku z ciyeyu shemoyu nazivannya za metodami vlastivostej zakripilis slengovi nazvi getter i setter Prikladi RedaguvatiVlastivosti v C Redaguvati Vlastivosti v C polya z logichnim blokom u yakomu ye klyuchovi slova get i set Priklad klasu z vlastivistyu class MyClass private int p field public int Field get return p field private set p field value Vlastivosti v VB NET Redaguvati Priklad realizaciyi v VB NET Yaksho potribno realizuvati vlastivist tilki dlya chitannya abo tilki dlya zapisu zastosovuyut modifikatori ReadOnly i WriteOnly Vlastivist mozhe buti parametrizovanoyu Takozh mozhe buti vlastivistyu za umovchannyam dlya chogo neobhidno dodati modifikator Default Sub Main Dim F As New Foo F Data 5 F Item 0 5 F 0 5 Zapis u vlastivist Console WriteLine F 0 Chitannya vlastivosti End Sub Public Class Foo Private m Data As Integer Private m Arr As Integer 1 2 3 4 5 Public Property Data As Integer Set Value As Integer Setter m Data Value End Set Get Return m Data Getter End Get End Property Public Default Property Item Param As Integer As Integer Parametrizovana vlastivist za umovchannyam Set Value As Integer m Arr Param Value End Set Get Return m Arr Param End Get End Property End Class Vlastivosti v Delphi Redaguvati Dlya opisu vlastivosti v Delphi priznachene slovo property Priklad klasu z vlastivistyu TMyClass class private FMyField Integer procedure SetMyField const Value Integer function GetMyField Integer public property MyField Integer read GetMyField write SetMyField end function TMyClass GetMyField Integer begin Result FMyField end procedure TMyClass SetMyField const Value Integer begin FMyField Value end Vlastivosti v ActionScript Redaguvati class MyClass private foo int public function get foo int return foo public function set foo foo int void foo foo Vlastivosti v Objective C Redaguvati interface Company NSObject NSString var name property retain NSString var name end implementation Company synthesize var name end Vlastivosti v Ruby Redaguvati Opis vlastivosti v Ruby nichim ne vidriznyayetsya vid opisu metoda Napriklad dlya stvorennya vlastivosti duration u klasu Song slid opisati metodi duration i duration value class Song def duration duration end def duration value duration value end end Odnak proste zvertannya do vnutrishnoyi zminnoyi ob yekta mozhna zaminiti viklikom metoda attr accessor duration class Song attr accessor duration end Bilsh cikavim bude priklad stvorennya vlastivosti duration in minutes yaka povertatime abo vstanovlyuvatime trivalist u hvilinah class Song def duration in minutes duration 60 0 end def duration in minutes value duration value 60 to i end end Pri comu zminennya vlastivosti duration in minutes vpline na vlastivist duration Napriklad song Song new song duration in minutes 1 2 print song duration nadrukuye 72 Vlastivosti v Python Redaguvati Nabir metodiv z dekoratorami viznachaye sposobi roboti z vlastivistyu chitannya zapis vidalennya Yaksho yakijs iz metodiv pribrati za vinyatkom property vtrachayetsya mozhlivist pracyuvati z vlastivistyu vidpovidnim chinom Priklad klasu z vlastivistyu class A def init self self x None property def x self return self x x setter def x self value self x value x deleter def x self self x None gt gt gt a A gt gt gt a x gt gt gt a x 2 gt gt gt a x 2 gt gt gt del a x gt gt gt a x gt gt gt Div takozh RedaguvatiPodiya Metod Otrimano z https uk wikipedia org w index php title Vlastivist programuvannya amp oldid 36217980