window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Muutumatu objekt - The Codest
Tagasi nool TAGASI

Mis on muutumatu objekt?

Muutumatu objekt on objekt, mida ei saa pärast loomist muuta. Teisisõnu, selle olekut ei saa muuta pärast selle instantseerimist. Iga katse muuta selle väärtust toob kaasa uue objekti loomise uuendatud väärtusega, jättes esialgse objekti muutumatuks.

Seda kontseptsiooni kasutatakse sageli funktsionaalset programmeerimist toetavates programmeerimiskeeltes, kus muutumatus on oluline omadus. Muutumatud objektid on kasulikud olukordades, kus objekti olekut ei tohiks muuta, näiteks mitmesuunalistes keskkondades, kus samaaegne juurdepääs muutuvatele objektidele võib põhjustada võidujooksu ja andmete kahjustamist.

Muutumatutel objektidel on mitmeid eeliseid muutuvate objektide ees. Esiteks on need niidikindlad ja neid saab turvaliselt jagada niitide vahel ilma sünkroniseerimise vajaduseta. Teiseks on neid lihtsam põhjendada, kuna nende olek ei saa ootamatult muutuda. Kolmandaks saab neid kasutada võtmetena hash-tabelites ja komplektides, kuna nende hash-väärtus on fikseeritud ja ei muutu aja jooksul.

Näiteid muutumatute objektide kohta Java hõlmavad String, Integer ja LocalDate. Kui String-objekt on loodud, ei saa selle väärtust enam muuta. Iga katse seda muuta toob kaasa uue String-objekti loomise uuendatud väärtusega. Samamoodi ei saa pärast Integer-objekti loomist selle väärtust muuta.

Muutumatud objektid ei sobi siiski kõikidesse olukordadesse. Mõnel juhul on muutuvad objektid sobivamad, näiteks kui objekti olekut tuleb sageli uuendada. Sellistel juhtudel on oluline tagada, et juurdepääs muutuvatele objektidele oleks sünkroniseeritud, et vältida võidujooksu tingimusi ja andmete rikkumist.

Kokkuvõttes on muutumatu objekt objekt, mida ei saa pärast loomist muuta. See on kasulik olukordades, kus objekti olekut ei tohi muuta, näiteks mitmesuunalistes keskkondades. Muutumatutel objektidel on mitmeid eeliseid muutuvate objektide ees, sealhulgas niidikindlustus, lihtsa arutluse ja sobivus võtmetena hash-tabelites ja kogumitena kasutamiseks.

etEstonian