㈠ java 封裝是什麼
什麼是封裝?
在定義類的時候,如果可以直接修改類中的欄位那麼就可能會出現以下的情況,age可以設置成1000,score可以設置為10000
所以就引出了封裝的概念,那麼什麼是封裝呢或者說封裝可以實現那些目的
封裝可以隱藏實現的細節
讓使用者只能通過實現寫好的訪問方法來訪問這些欄位,這樣一來我們只需要在這些方法中增加邏輯控制,限制對數據的不合理訪問、
方便數據檢查,有利於於保護對象信息的完整性
便於修改,提高代碼的可維護性
為了實現良好的封裝,需要從兩個方面考慮
把欄位(成員變數)和實現細節隱藏起來,不允許外部直接訪問
把方法暴露出來,讓方法控制這些成員變數進行安全的訪問和操作
因此,封裝就有兩個含義:把該隱藏的隱藏起來,把該暴露的暴露出來。
㈡ Java中什麼叫封裝啊
關於這個問題,我想舉一個例子:
lz如果你接觸過老的面向過程的編程,
以前封裝性很差的程序是專這樣的
比如用屬C寫一套處理鏈表的程序,他的數據和函數是分開的
數據保存在一個內存區域里,所有相關的函數,比如增加節點啊,減少節點什麼的都是直接操作這個內存區域的指針
比如這樣
LIST *p=.....;//開辟空間
AddNode(p,...)//這樣來操作
帶來了很多額外的不安全因素,因為誰都可以操作這個指針
如果你寫的是一個第三方庫,那麼別人使用的時候完全不在你的控制之下
現在的面向對象程序則不然,
將數據和與之對應的操作(也就是方法)綁定在一個塊中
比如在Java中
LinkedList list=new LinkedList();
list.add(...);
這樣所有的內部結構對於外部用戶都是透明的,不用管內部實現和結構,如何儲存數據,都不用管內部實現(一些數據程序成員的訪問許可權是private protected就是為了數據安全性)
而原先的方式,數據是非封裝的,因為外部程序可以隨便更改數據,不利於程序的安全運行
以上提到的就屬於面向對象封裝性的意義,不過實際的好處還不只這些
lz有問題,歡迎給我發消息,我們可以具體討論一下
㈢ Java里的封裝到底是什麼意思,請舉例說明
封裝:是指隱藏對象的屬性(成員變數)和實現細節(方法),僅對外提供公共訪問方式。
好處:
隱藏實現細節,提供公共的訪問方式
提高了代碼的復用性
提高安全性。
封裝原則:
將不需要對外提供的內容都隱藏起來。
把屬性隱藏,提供公共方法對其訪問。
常見封裝 :
成員變數封裝---
private 數據類型 xxx ;
private關鍵字:
是一個許可權修飾符。
可以修飾成員(成員變數和成員方法)
被private修飾的成員只在本類中才能訪問。
例如:
class show(){
private String name;//其他類無法訪問當前私有成員
public String getName(){//可以通過public修飾的方法訪問name
return this.name;
}
}
㈣ 封裝是什麼意思它是硬體還是軟體
封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的介面。面向對象計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的介面訪問其他對象。封裝是一種信息隱藏技術,在java中通過關鍵字private實現封裝。屬於面對對象編程語言中的概念。屬於軟體范疇。
㈤ JAVA類的封裝是什麼意思
JAVA類的封裝就是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。
主要好處是:
將變化隔離。
便於使用
提高重要性。
提高安全性。
㈥ java中「封裝」是什麼
java的特點是繼承、封裝、多態,其中封裝就是指比如一個類有很多private類型的屬性,這個類給這些屬性寫相應的get/set方法,其他類如果想訪問這個類的屬性,必須通過此類的get/set方法來訪問,此類還可以給屬性只寫get或只寫set方法來控制此屬性是只讀的還是只寫的,對屬性的訪問許可權做了很好的控制,這樣就把類中的屬性很好地封裝起來了,這就是封裝。
㈦ 在Java面向對象的編程當中的為什麼要封裝什麼叫封裝
java面向對象編程中所謂封裝,就是通過定義類並且給類的屬性和方法加上訪問控制來抽象事物的本質特性。
封裝就是定義一個類,然後給該類的屬性(成員變數)和方法加上訪問控制修飾詞(public,private, protected,默認包訪問許可權),使得該類的屬性和方法對於類外部來說,想可見的可見,不想可見的隱藏。就是把數據和行為結合在一起在一個包中,並對對象使用者隱藏數據的實現過程。Java用3個關鍵字來設置邊界,從而進行對數據的隱藏。Public(共有)的定義任何人都可使用.private(私有)意味著除你自己,類型創建者及那個類型的內部函數成員可以訪問外其他任何人使用都會產生錯誤。Friendly(友好)
意味在包(package)中是可以訪問的.
㈧ 在Java面向對象的編程當中的為什麼要封裝什麼叫封裝
概念:所謂封裝,就是通過定義類並且給類的屬性和方法加上訪問控制來抽象事物的本質特性.
這個意思:
封裝就是定義一個類,然後給該類的 屬性(成員變數) 和 方法 加上 訪問控制修飾詞(public,private,
protected,默認包訪問許可權),使得該類的屬性和方法對於類外部來說,想可見的可見,不想可見的隱藏。
所以,通過封裝這個手段,就抽象出來了事物的本質特性。
對上面進行進一步的解釋:
什麼叫抽象?比如拿 人類 來舉例子,封裝是一種手段,通過封裝定義出來的這個類,和現實當中的人這個實體(對象),他們之間就是一種抽象,我們現實當中只存在一個一個的人(對象),人類只是一個概念性的東西,是我們人自己歸納總結出來的,我們知道人都長什麼樣,所以我們知道符合這個樣子的就叫人,人的大腦總是習慣將事物分類,因此人類的概念就出現了,那麼我們發現一個一個的人,都有眼睛鼻子嘴(屬性),都能吃飯(方法),等等,這就是人這個事物的本質特性,然後我們得編程啊,人類的概念光在腦海中出現了還不行,還得體現到代碼上,那麼你想體現到代碼上,也就是定義一個類,就要使用封裝這個手段。
為什麼要加上訪問控制?
一是,有些東西是很關鍵很機密的,不想隨便被使用,被改變,被訪問。
二是,可能這個東西不是很關鍵機密,訪問和改變也無所謂,但是,因為有些屬性和方法,它們對於外部來說,是無關的沒用的,但是對於我自己這個類來說,是必要的,因為可能在我自己這個類中要使用它們,這個時候,進行隱藏,不讓外部看,好處就是,如果將這些不必要的內容也暴露給外部的話,那麼在使用的時候,使用者會被迷惑,因為這個東西對他沒用,但是又可以調用,訪問,而且他又不知道又沒有用,但是如果進行隱藏,不給外部查看,那麼就很清晰了,因為這樣一來,只要是對外暴露的屬性方法,都是有用的,你想一下,JDK的類庫裡面的那些類,比如String類,對外暴露的屬性和方法,哪個是無用的?這也是一種良好的編程習慣和規范。
說了這么多,其實我的理解也有限,面向對象思想又不局限於某種語言,樓主仔細體會一下吧,我說的可能也不全對,這只是我個人的一點理解。
剛才上網搜到了一句話,不是我說的,但我感覺說的也不錯,可以仔細體會一下:
封裝是人們對現實世界中解決問題時,為了進行簡化問題,對研究的對象所採用的一種方法,一種信息屏蔽技術。
㈨ JAVA 中,為什麼要封裝
封裝是由Java是面向對象程序設計語言的性質決定的,因為面向對象程序設計語言的三大特性之一就是封裝。
因為面向對象中所有的實體都是以對象為基本單位的,以宏觀世界的實體來映射到計算機世界中,每個對象有它自己的屬性和自己的行為,我們用類來將這些屬性和行為封裝到一起,當它實例化出來一個對象的時候,我們可以說這個對象具有這些屬性和行為。
(9)java封裝的概念擴展閱讀:
封裝的作用
1、 對象的數據封裝特性徹底消除了傳統結構方法中數據與操作分離所帶來的種種問題,宏慶者提高了程序的可復用性和可維護性,降低了程序員保持數據與操作內蔽薯容的負擔。
2、對象的數據封裝特性還可以把對象的私有數據和公共數據分離開差蔽,保護了私有數據,減少了可能的模塊間干擾,達到降低程序復雜性、提高可控性的目的。