java裏getter和setter的作用(轉載) - IT閱讀
文章推薦指數: 80 %
也就是說,用戶無需知道對象內部方法的實現細節,但可以根據對象提供的外部接口(對象名和參數)訪問該對象。
2.好處:(1)實現了專業的分工。
將能實現某一 ...
java裏getter和setter的作用(轉載)
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
java裏getter和setter的作用(轉載)
2017-10-03254
details訪問str內部比較進行無需銀行自己的【java】類中使用getter和setter的優勢
http://www.importnew.com/9716.html
java有三大特性:封裝,繼承還有多態。
而今天,我來講一下其中最重要的特性之一:封裝。
首先,屬性可用來描述同一類事物的特征,方法可描述一類事物可做的操作。
封裝就是把屬於同一類事物的共性(包括屬性與方法)歸到一個類中,以方便使用。
1.概念:封裝也稱為信息隱藏,是指利用抽象數據類型將數據和基於數據的操作封裝在一起,使其構成一個不可分割的獨立實體,數據被保護在抽象數據類型的內部,盡可能地隱藏內部的細節,只保留一些對外接口使之與外部發生聯系。
系統的其他部分只有通過包裹在數據外面的被授權的操作來與這個抽象數據類型交流與交互。
也就是說,用戶無需知道對象內部方法的實現細節,但可以根據對象提供的外部接口(對象名和參數)訪問該對象。
2.好處:(1)實現了專業的分工。
將能實現某一特定功能的代碼封裝成一個獨立的實體後,各程序員可以在需要的時候調用,從而實現了專業的分工。
(2)隱藏信息,實現細節。
通過控制訪問權限可以將可以將不想讓客戶端程序員看到的信息隱藏起來,如某客戶的銀行的密碼需要保密,只能對該客戶開發權限。
而我們在設置變量的屬性時,我們通常會對數據進行封裝,這樣就可以增加了數據訪問限制,增加了程序可維護性。
而實現方法就是:用private去修飾一個變量,然後再用setter方法去設置該變量的值,然後在用getter方法去調用該變量的值。
[java]viewplaincopy
publicclassStudent{
privateStringnumber;//學生學號
privateStringname;//學生姓名
privateintgrade;//學生成績
publicStudent(){
}
publicStringgetNumber(){//用get方法得到學號(下同)
returnnumber;
}
publicvoidsetNumber(Stringnumber){//用set方法去設置學號(下同)
this.number=number;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetGrade(){
returngrade;
}
publicvoidsetGrade(intgrade){
this.grade=grade;
}
publicstaticvoidmain(Stringagrs[]){
Studentst=newStudent();
st.setNumber("010112233");
st.setName("小明");
st.setGrade(100);
System.out.println("學號為:"+st.getNumber()+","+"姓名為:"+st.getName()+","+"成績為:"+st.getGrade()+"。
");
}
}
用setter來改變數據成員的值時,操作必須由這個對象自己來觸發用public來改變數據成員的值時,操作可以由任何對象來觸發這是面向對象的封裝,總之就是自己的數據成員,只對自己可見,也只有自己才能改變其值
對象的封裝性,private的只有對象自己才可以訪問,其他任何對象不行,包括它的子類和父類。
安全性高,其他對象只能通過它的public方法,set,get來獲取或設置原對象的private屬性。
public其他對象可以訪問,安全性就不高了。
/*問題:在java類中使用getter和setter的好處?*定義為private是為了實現數據的隱藏和封裝;而setget方法提供了類與外部的接口;在大型軟件中這是很有必要的,它有利於代碼的維護舉個例子,一個父類有多個子類(甚至還有間接子類),程序代碼中,子類是不能直接訪問父類的private屬性的;這時提供的setget方法是很有必要的誠然,若將父類的屬性聲明為protected,在子類中就可以直接訪問了,但是這種方法破壞了數據的隱藏和封裝原則,關鍵是不利於代碼的維護,如果父類中的一個屬性改名了,那麽在子類中用到該屬性名的代碼,要發生大範圍的修改,而前面的private,set,get方法就比較好,對代碼只需小範圍的修改,一般都是這麽用的,這是一個良好的編程習慣*/
java裏getter和setter的作用(轉載)
相關文章
java裏getter和setter的作用(轉載)
關於java中import和package的作用詳解
環境變數JAVA_HOME,CLASSPATH和PATH的作用
Java之Pattern和Matcher的作用
java中this()和super()的作用及用法
java中char和String的區別(轉載https://blog.csdn.net/li_xiao_ming/article/details/78109462)
Spring中各包的作用(轉載)
WEB-INF目錄與META-INF目錄的作用(轉載)
C++中explicit關鍵字的作用(轉載)2012-10-1014:35
函式指標的作用(轉載)
Ajax請求中的async:false/true的作用【轉載】
PHP目錄下php-config的作用[轉載]
Spring各jar包的作用(轉載)
【Spring】Spring各jar包的作用(轉載)
JAVA_OPTS引數-Xms和-Xmx的作用
分類導航
HTML/CSS
HTML教程
HTML5教程
CSS教程
CSS3教程
JavaScript
JavaScript教程
jQuery教程
Node.js教程
服務端
Python教程
Python3教程
Linux教程
Docker教程
Ruby教程
Java教程
JSP教程
C教程
C++教程
Perl教程
Go教程
PHP教程
正則表達式
資料庫
SQL教程
MySQL教程
PostgreSQL教程
SQLite教程
MongoDB教程
Redis教程
Memcached教程
行動端
IOS教程
Swift教程
Advertisement
三度辭典
Copyright©2016-2021IT閱讀
Itread01.comAllRightsReserved.
0.001291036605835
延伸文章資訊
- 1QQA: 為什麼java 中要寫getter/setter? - IT閱讀
所以,通過這層封裝,之後如果有需要,我們甚至可以更改欄位的名字,型別等等。這就是封裝的好處,而getter/setter 這種寫法能讓我們為將來可能的修改 ...
- 2数据封装的好处(Getter、Setter) - 51CTO博客
数据封装的好处(Getter、Setter),“老王忘记把他的猫封装起来,后来他的猫被压平了......”这是一个程序界的鬼故事,你忘记对你的数据进行封装, ...
- 3getter和setter方法的作用和好处_xunfan的博客
比如有些属性只是可读但不可写,那么只提供它的getter方法就好,意思就是某些属性只能单一方向的被访问,getter和setter就是提供这样的接口, ...
- 4Getter、Setter的用與不用
- 5getter 和setter 方法有什么意义? - 知乎
getter / setter 方法的好处前面都说了,但是在具体语言里使用起来的“麻烦程度”可以很不同。 前面有回答提到了Java:没有原生的getter / setter 语法,这只是一个Ja...