溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java語言中封裝類代碼示例

發(fā)布時(shí)間:2020-09-12 20:54:19 來源:腳本之家 閱讀:161 作者:ttxxly 欄目:編程語言

在面向?qū)ο蟪绦蛟O(shè)計(jì)方法中,封裝(Encapsulation)是指一種將抽象性函式接口的實(shí)現(xiàn)細(xì)節(jié)部分包裝‘隱藏起來的方法。數(shù)據(jù)被保護(hù)在內(nèi)部,隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),對外提供接口與外部交互。

使用封裝的步驟

將類的所有屬性使用關(guān)鍵字private去修飾,把它們變成私有的,不允許外部類直接訪問
生成或者提供公共的setter/getter方法去操作這些被隱藏起來的屬性
在類自己的 setter/getter方法中加入邏輯控制,以確保數(shù)據(jù)訪問的有效性和安全性實(shí)例

讓我們來看一個java封裝類的例子:

/* 文件名: EncapTest.java */
public class EncapTest{
	private String name;
	private String idNum;
	private int age;
	public int getAge(){
		return age;
	}
	public String getName(){
		return name;
	}
	public String getIdNum(){
		return idNum;
	}
	public void setAge( int newAge){
		age = newAge;
	}
	public void setName(String newName){
		name = newName;
	}
	public void setIdNum( String newId){
		idNum = newId;
	}
}

以上實(shí)例中public方法是外部類訪問該類成員變量的入口。

通常情況下,這些方法被稱為getter和setter方法。

因此,任何要訪問類中私有成員變量的類都要通過這些getter和setter方法。

通過如下的例子說明EncapTest類的變量怎樣被訪問:

/* F文件名 : RunEncap.java */
public class RunEncap{
 public static void main(String args[]){
  EncapTest encap = new EncapTest();
  encap.setName("James");
  encap.setAge(20);
  encap.setIdNum("12343ms");

  System.out.print("Name : " + encap.getName()+ 
        " Age : "+ encap.getAge());
 }
}

以上代碼編譯運(yùn)行結(jié)果如下:

Name : James Age : 20

使用封裝的好處

1、良好的封裝能夠減少耦合

2、類內(nèi)部的結(jié)構(gòu)可以自由修改。

3、可以對成員進(jìn)行更精確的控制。

4、隱藏信息,實(shí)現(xiàn)細(xì)節(jié)

總結(jié)

以上就是本文關(guān)于java語言中封裝類代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI