偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JAVA程序員基本功之開發(fā)實現類隱藏及應用

開發(fā) 后端
本文介紹的java程序設計語言中的類隱藏的一些基礎知識。希望對大家有幫助,一起來看。

雖然在JAVA言語中要完成類的隱藏十分復雜,只需求通過三個關鍵字即可以完成。但是在大局部狀況下,讓JAVA程序員感到疑惑的是,在什么時候該把什么類隱藏。的確,在JAVA開發(fā)言語平臺中,關于什么類需求隱藏,什么類不需求隱藏,往往沒有很嚴厲的要求。

一、類隱藏的根本建議

雖然在JAVA言語中要完成類的隱藏十分復雜,只需求通過三個關鍵字即可以完成。但是在大局部狀況下,讓JAVA程序員感到疑惑的是,在什么時候該把什么類隱藏。的確,在JAVA開發(fā)言語平臺中,關于什么類需求隱藏,什么類不需求隱藏,往往沒有很嚴厲的要求。

為此程序開發(fā)人員需求根據自己的任務經驗來進行判別。而即使有一定程序開發(fā)經驗的員工,也不一定能夠在這個問題上給出很好的答案。公說公有理,婆說婆有理,為此很難有一個一致的規(guī)范。筆者下面幾個建議,也是對自己這幾年來JAVA開發(fā)任務的總結。希望這些建議能夠協(xié)助大家解惑。

1、不同模塊之間的類要相互隱藏。

如今不少運用系統(tǒng),為了進步開發(fā)效率,都提出了模塊化的設計理念。如最近比擬盛行的ERP系統(tǒng),假設按模塊來進行設計的話,則在開發(fā)時不同的人員可以擔任各自的模塊,而互不干涉。

在ERP系統(tǒng)出售的時候,也可以按模塊來進行出售,由于各個模塊的功能是相對獨立的。當然這只是從管理層面來說模塊化設計的重要性,不過這不是我們今天要談論內容的重點。今天要談的是,假設運用系統(tǒng)按模塊化來進行設計,那么不同模塊之間的內如何完成隱藏呢?其實很復雜。如供應商根本信息維護、供應商進貨單、應付帳款分屬于三個不同的模塊,辨別為采購管理、庫存管理與應收應付管理。

如今在設計應收應付這個模塊時其中有一個生成應付帳款的類,其需求用到采購管理模塊中供應商的信息(付款條件等等)、倉庫管理模塊中的供應商進貨單據(產品編號、數量、到貨日期等等),然后才干夠生成精確的應付帳款。那么在運用程序設計的時候該如何完成呢?是在那個應付帳款作業(yè)對應的類中直接從數據庫中去查詢這些信息嗎,又或者去修正采購模塊中對應的類來完成?這雖然都可以達到預定的目的,但是都不是上上之策。

團體以為,最好的方法就是程序開發(fā)人員先設計一個類(如Vender類),這個類會返回供應商編號、付款條件等信息。然后應付帳款作業(yè)中的類就直接調用這個類獲取需求的信息。一方面能夠很多地方都需求用到這些信息,假設每次需求的時候都應用SQL代碼來獲取這些信息的話,那么代碼量也會很大。相反直接調用類來完成這些信息反而更加的方面。另一方面,這個Vender類關于其他類是隱藏的。

也就是說,其他類只能夠通過預定義的接口向這個類傳遞參數并直接援用其返回的結果,而不能夠修正類外部的元素。如此即使其他有十幾個類或者運用程序需求調用這個類的時候,其只要輸出的參數相同,則其返回的結果也就相同。那么其他類在援用返回結果的時候,就不用擔憂不兼容了。所以,運用程序的模塊化設計促使JAVA程序要完成類與類之間的隱藏;同時JAVA類相互之間隱藏的特性也方便了運用程序的模塊化設計。

2、數據類型類與其他類之間需求完成隱藏。

在任何一個運用程序開發(fā)過程中,都需求根據企業(yè)的需求設計一些比擬有針對性的數據類型。由于光靠運用程序所提供的那些數據類型往往不能夠滿足程序開發(fā)人員的需求。如需求設計一些數組、記錄等等數據類型。但是在設計這些數據類型的時候,程序人員就需求了一個難題。如如今在開發(fā)ERP系統(tǒng)的過程中,多個模塊(每個模塊由不同的程序員擔任)都需求用到同一個記錄數據類型。

那么是每個程序員都設計一個記錄類型的數據類型,還是共用同一個數據類型呢?假設各管各的,就需求建立多個記錄類型的數據類型,管理起來比擬麻煩,對后續(xù)晉級也會遇到阻礙。而假設大家共用一個記錄類型的數據類型,大家又擔憂其他程序人員不小心修正了這個數據類型而給他們形成了麻煩。這之間難道就沒有和平的共存方式了呢?其實,在運用程序開發(fā)的過程中可以以為的將運用程序開人人員分為數據類型創(chuàng)者者與業(yè)務邏輯開發(fā)者。

然后數據類型開發(fā)者可以根據其他開發(fā)人員的需求創(chuàng)建一些定義數據類型的類,這些類的話關于其他程序開發(fā)人員開發(fā)的類是隱藏的。也就是說,其他類不能夠對這個數據類型進行修正。那么即可以進步這些數據類型的應用率,而且也可以保證其他類可以以固定的格式援用這些類。

3、業(yè)務層與表示層之間的類要相互隱藏。

應用過J2EE開發(fā)平臺的人一定知道,在開發(fā)運用程序的時候,業(yè)務邏輯層與表示層之間是相互獨立的。業(yè)務邏輯層主要完成一些擔任的運算,如物料需求方案運算。而表示層的話只擔任一些詳細的顯示。如通過閱讀器客戶端來顯示結果還是通過軟件窗口來顯示運算結果。雖然客戶端所采用的方式不同,但是其外部的運算是相同的。

此時最好把完成業(yè)務邏輯層的類與完成表示層的類相互隱藏起來。由于在實際開發(fā)過程中,他們往往是由不同的程序開發(fā)人員完成的。為了防止不同程序開發(fā)人員之間的相互干擾,防止表示層的開發(fā)人員有意中修正了業(yè)務邏輯層的JAVA類,就必需要把業(yè)務邏輯層的類隱藏起來。

也就是說,表示層開發(fā)人員只需求知道業(yè)務邏輯層的類需求哪些參數、能夠以什么樣的形式返回結果即可。然后表示層的類在調用業(yè)務邏輯層中的類的時候,只需求按照要求輸出參數、按照規(guī)則獲取結果即可,而不需求關注其業(yè)務邏輯層類外部的完成機制,從而加重了表示層開發(fā)人員的任務量。同時也防止了業(yè)務層開發(fā)人員對這個類進行修正,從而其他的運用程序開發(fā)人員可以以同一種方式來援用這些類。

4、假設某個業(yè)務邏輯還不怎樣完善時,要執(zhí)行隱藏。

在運用程序開發(fā)的過程中,能夠某些業(yè)務邏輯暫時沒有很好的解決方案,但是需求的參數或者返回的結果是確定的。此時可以把這個業(yè)務邏輯建立一個的類,并對其他類進行隱藏。如此的話,當出現更好的解決方案之后,就可以直接更改這個類中的業(yè)務邏輯。由于類中成員關于其他程序人員是隱藏的,為此對類中的處置機制進行更改并不會影響到其別人員開發(fā)的運用程序。他們只關心你能夠在最短時間內取得精確的結果。為此在遇到這種狀況時,最好把類與其他的類執(zhí)行隱藏。

可見,哪些類需求相互隱藏能夠判別起來比擬復雜。但是有一個普遍適用的原則,就是假設一個類有不同的程序人員需求援用。如用戶A設計了一個統(tǒng)計應收帳款余額的類,用戶B與C,包括用戶A都需求調用這個類。那么這個類就最好進行隱藏。防止其他類在調用這個類的時候,不小心修正了其外部的完成方式。這會對其他用戶調用這個類發(fā)生不利影響。

二、完成JAVA類隱藏的三個關鍵字

之所有要完成JAVA類隱藏,主要是讓任何程序開發(fā)人員都無法觸及他們不應該初期的局部(如業(yè)務邏輯或者數據類型的外部操作)。雖然項目管理員能夠在程序開發(fā)過程中屢次勸誡團隊成員不要直接操作其他開發(fā)人員所設計類中的成員。但是假設缺乏一定的控制手段,這些事情往往會在有意有意中發(fā)作。

為此需求采取一些強制的手段來防止這些狀況的發(fā)作。而且這些事現方式必需復雜,不能夠太過于復雜。在JAVA言語平臺中,就提供了Public、private、protected三個關鍵字來完成對類的隱藏與控制。

這些關鍵字決定了類或者類中的成員能否對其他類是隱藏的,能否被其他類進行操作與修正。如public關鍵字表示緊隨其后的元素對任何人都是可用的,可以被任何人所修正。而關鍵字Private則表示除了類創(chuàng)建者和這個類型的外部方法之外的任何人都不能夠進行拜訪。而關鍵Protected的作用跟Private類似,只是其是作用在繼承中的。

可見在JAVA程序開發(fā)中,要完成類的隱藏是很復雜的,也是JAVA程序員必需要掌握的一項根本功。而其難度就在于在適當的時候完成類和類中成員的隱藏。這就要程序員在程序開發(fā)過程中好好琢磨了。

希望通過以上內容的介紹,能夠給你帶來幫助。

責任編輯:于鐵 來源: 互聯(lián)網
相關推薦

2014-11-20 14:39:12

網絡傳輸

2020-10-21 09:18:50

程序員前端Github

2022-03-31 15:17:04

JavaSocketServlet容器

2015-01-15 09:21:24

TCP窗口

2011-05-16 15:49:58

JAVA

2009-05-18 13:07:44

類隱藏Java關鍵字

2024-11-01 08:34:18

Spring配置@Bean

2010-09-26 08:56:10

Oracle

2009-10-10 16:57:33

布線工藝要求

2025-05-28 08:15:00

字符集編碼字符

2011-06-20 08:38:42

程序員

2017-04-12 10:40:34

公有云

2017-04-17 20:00:38

程序員開發(fā)算法

2011-08-05 13:49:53

iPhone 應用 開發(fā)

2018-01-15 10:38:04

2019-02-26 09:55:52

Java開發(fā)工具

2024-03-13 13:10:48

JavaInteger緩存

2020-10-14 11:15:55

Java程序員框架

2019-11-27 10:08:36

程序員技能開發(fā)者

2012-11-08 09:49:30

C++Java程序員
點贊
收藏

51CTO技術棧公眾號