Skip to main content

Ano ang isang hindi mababago na bagay?

Sa object-oriented programming, ang isang hindi mababago na bagay ay isang bagay na ang mga pag-aari ay hindi mababago matapos itong malikha.Karamihan sa mga bagay, sa kaibahan, ay mga bagay na maaaring mai -cut, nangangahulugang ang ilan o lahat ng kanilang mga pag -aari ay maaaring malayang mabago pagkatapos ng paglikha.Ang iba't ibang mga wika ng computer ay may kakayahang lumikha ng hindi mababago na mga bagay, kabilang ang Java, C ++, Erlang, Tcl at Scala.Ang pagdedeklara ng isang kung hindi man ay hindi mababago na bagay na hindi mababago.Ang pamamaraan para sa paglikha ng isang hindi mababago na klase ay nag -iiba depende sa wika ng computer na ginagamit.Anuman ang wika, ang isang hindi mababago na klase ay dapat walang mga pamamaraan na maaaring baguhin ang panloob na data at walang paraan para mabago ang mga pamamaraan at mdash;i.e. overridden o overloaded mdash;sa isang paraan na magbabago sa panloob na data nito.Ito ang mas kumplikado sa dalawang pamamaraang.Upang lumikha ng isang hindi mababago na bagay mula sa isang kung hindi man maaaring mabago na bagay, sa kabilang banda, ang isang tao ay madalas na mag -aplay ng isang keyword upang italaga ang bagay na hindi mababago.Ang isang mabilis na paraan upang makagawa ng isang hindi mababago sa klase sa Java ay upang ideklara ang klase, pati na rin ang lahat ng mga pamamaraan at mga miyembro ng data, pangwakas.Ang isang katulad na diskarte ay maaari ring magamit sa C ++ na may const keyword.Ang mga pamamaraang ito, depende sa nilalaman ng klase, ay maaaring hindi ang pinakamahusay, gayunpaman.Sa pangkalahatan, ang mga bagay ay karaniwang maaaring hindi mababago sa pamamagitan ng maingat na pagpapanatili ng kanilang panloob na data.

Ang paggawa ng isang hindi mababago na bagay gamit ang isang keyword, tulad ng sa itaas na halimbawa, ay madalas na mas madali kaysa sa pagsulat ng isang buong klase na hindi mababago.Gayunman, ang paggamit ng pamamaraang ito, ay may mga panganib.Kapag malinaw na nagtatalaga ng isang hindi mababago na bagay sa paraang ito, mahalaga para sa programmer upang matiyak na ang lahat ng naaangkop na mga pag -aari at data ay isinama muna sa bagay.Ang pag -asa sa isang hindi kumpletong bagay ay maaaring mapanganib, lalo na kung nawawala ito ng isang mahalagang piraso ng impormasyon.

Kung ang isang bagay ay maaaring maputukan ngunit nangangailangan ng hindi mababago na data na malikha nang maayos, ang hindi mababago na data ay dapat na masimulan bago magawa ang mutable object.Ang mga hindi mababago na bagay ay palaging hindi mababago, kung ang mga ito ay mga halaga ng data o malalaking bagay, at dapat palaging tratuhin tulad nito.Sa pangkalahatan, ang isang hindi mababago na bagay ay hindi maaaring gawin na mababago pagkatapos na ito ay nilikha, kahit na kung minsan ay maaaring makopya bilang mga bagay na nababalisa.Karaniwan itong maipapalagay na ang isang hindi mababago na bagay at alinman sa mga kopya nito ay hindi mababago, na maaaring maiwasan ang mga problema sa data o memorya.