JavaRush /Blog Jawa /Random-JV /Getters lan enkapsulasi rusak
Vadelic
tingkat
Пасадена

Getters lan enkapsulasi rusak

Diterbitake ing grup
Nalika ngrampungake masalah, aku nemoni prilaku getter sing ora dikarepke. Ing ceramah ing kene lan malah ing getter sing digawe dening IntelliJ IDEA, skema sing paling gampang digunakake: public final class A { private A field; public A getField() { return field; } public void setField(A field) { this.field = field; } } Yen lapangan minangka jinis primitif utawa String, sing dilewati kanthi nilai, mula kabeh apik, nanging yen obyek kasebut dilewati kanthi referensi. banjur dadi metu sing liwat getter sampeyan bisa entuk akses lengkap menyang lapangan , kang nullifies nyetel tingkat akses dilindhungi. Yen panyetel ngemot kahanan validitas, mula bisa dilewati liwat getter kasebut, sing nglanggar enkapsulasi lan bakal bener kanggo nggawe klon obyek kasebut supaya ora ana masalah. Aku ngerti manawa ora kabeh obyek bisa gampang dikloning, lan yen iki ditinggalake tanggung jawab programer, mula aneh kenapa ora ana sing kasebut ing ngendi wae ing kuliah. UPD: A getter, minangka ide, mesthi, ora nglanggar enkapsulasi, nanging kudu ditulis kanthi cara supaya ora ngiyanati prinsip OOP. Iki tegese yen getter mrodhuksi obyek, mengkono ing kuwi cara sing pangguna ora bisa ngganti ing sembarang cara liyane sing kasebut ing kelas. Ana cara sing apik ing kelas Koleksi sing ngasilake koleksi mung diwaca. Iki nemtokke sawetara Watesan liyane, contone, impossibility ngurutake, nanging ing kasus iki kelas iki wis: unmodifiableSortedSet unmodifiableSortedMap lan sawetara liyane, kanggo penak luwih. public static Collection unmodifiableCollection(Collection c)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION