java裏getter和setter的作用(轉載) - IT閱讀

文章推薦指數: 80 %
投票人數:10人

也就是說,用戶無需知道對象內部方法的實現細節,但可以根據對象提供的外部接口(對象名和參數)訪問該對象。

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



請為這篇文章評分?