加入get和set不還是一樣能夠訪問和修改成員變量么?
private限制了變量不能對實例化的對象訪問,保護不被修改,但加入get和set還是和public一樣能夠訪問和修改成員變量么?對其保護又體現在哪里呢?感覺沒有起到private對變量的限制、保護作用啊。有明白人能幫忙指點一下么,謝謝。
private限制了變量不能對實例化的對象訪問,保護不被修改,但加入get和set還是和public一樣能夠訪問和修改成員變量么?對其保護又體現在哪里呢?感覺沒有起到private對變量的限制、保護作用啊。有明白人能幫忙指點一下么,謝謝。
2019-01-17
舉報
2020-06-11
如果對get和set方法什么都不做,確實沒有起到保護的作用。但是你可以在set方法里實現一些check的代碼,比如什么樣的數據不能被set,這樣就起到保護的作用了。
2019-05-07
個人認為,在學封裝之前,應該先搞明白為什么要對變量進行封裝。在對字段進行隱藏后,用公開的屬性對字段進行封裝,加入get和set后,還是和公開字段一樣,能夠訪問和修改成員變量;封裝對自段的保護就像是ATM機對鈔票的保護作用,理解這個背景最為重要。這是我的理解,希望對你有用。