當前位置:首頁 » 編程語言 » 設計類java

設計類java

發布時間: 2023-06-03 22:16:36

java類、方法的設計

在Java面向對象編程的過程中,類的設計是一個很有挑戰性的工作,不同的人可能對於類的理解不一樣,設計出來的類也可能不一樣,總結出以下幾點關於類設計方面的建議供開發人員參考:
1.永遠保持數據私有
保持數據的私有是設計類時,必須重點考慮的問題。保持私有的數據有利於封裝。雖然為了保持數據的私有,需要編寫設置器與訪問期,但這比起不是數據私有要安全的多。
2.永遠初始化數據
Java不提供對本地變數的初始化,但它會初始化對象中的實力欄位。在設計類時盡量不要依賴於系統的默認值,最好明確的初始化變數。可以通過賦值或構造器對變數進行初始化。
3.不要在一個類中使用太多的基本類型
把相關的基本類型利用封裝的功能,設計成一個單獨的類;在引用時也同樣盡量使用一個單獨的類封裝同一功能的類似欄位。這樣做的結果可以使類更易於理解和修改。
例:在一個類中需要引入人的某些屬性
Private String peopleName;
Private String peopleSex;
Private String peopleBirthday;
在正中情況下,可以設計一個People類來實現這些欄位的封裝,在新設計的類中,只需要一個類的實例:
People aPeople = new People();
就可以得到相關的屬性值。
4.盡量使類的功能單一化
這句話很難用一句明確的語言來形容,什麼樣的類是功能單一的呢,可以這樣理解,例如設計一個類時,盡量不要將太多的功能放到一起。

② JAVA如何設計實體類

如果說的是對應資料庫信息的實體類,……對Java來說,和普通的類一模一樣。只是每個類設計者有不同的用法,比如說集合類,作為各種數據結構使用。實體類主要作為存儲資料庫信息使用。兩者Java上有區別么?沒有,只是代碼不一樣,用法不一樣。

③ JAVA23種設計模式

一、大約分為三類:

1、創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。

2、結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。

3、行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

二、設計模式遵循的原則有6個:

1、開閉原則(OpenClosePrinciple)

對擴展開放,對修改關閉。

2、里氏代換原則(LiskovPrinciple)

只有當衍生類毀吵茄可以替換掉基類,軟體單位的功能不受到影碰跡響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。

3、依賴倒轉原則(DependenceInversionPrinciple)

這個是開閉原則的基礎,對介面編程,依賴於抽象而不依賴於具體。

4、介面隔離原則(InterfaceSegregationPrinciple)

使用多個隔離的借口來降低耦合度。

5、迪米特法則(最少知道原則)(DemeterPrinciple)

一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。

6、合成復用原則(CompositeReusePrinciple)

原則是盡量使用合成/聚合的方式,而不是使用纖察繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。

④ java里如何設計這個類

package com.;

import java.util.Date;

public class Computer {

public Key key;

public Screen screen;

public Mouse mouse;

public Date time;

public Computer(Key key, Screen screen, Mouse mouse, Date time) {

this.key = key;

this.screen = screen;

this.mouse = mouse;

this.time = time;

}

public Key getKey() {

return key;

}

public void setKey(Key key) {

this.key = key;

}

public Screen getScreen() {

return screen;

}

public void setScreen(Screen screen) {

this.screen = screen;

}

public Mouse getMouse() {

return mouse;

}

public void setMouse(Mouse mouse) {

this.mouse = mouse;

}

public Date getTime() {

return time;

}

public void setTime(Date time) {

this.time = time;

}

}

class Key {

}

class Screen {

}

class Mouse {

}

熱點內容
sql2008r2導入數據 發布:2023-09-29 08:33:05 瀏覽:29
安卓無線投屏在哪裡設置 發布:2023-09-29 08:32:09 瀏覽:560
解壓泥清理 發布:2023-09-29 08:30:56 瀏覽:257
spark源碼語言 發布:2023-09-29 08:14:43 瀏覽:922
怎麼查看上架伺服器的ip 發布:2023-09-29 08:09:02 瀏覽:764
資料庫表數據復制 發布:2023-09-29 08:02:33 瀏覽:574
王牌戰爭為什麼一直顯示伺服器維修中 發布:2023-09-29 07:59:46 瀏覽:706
硬碟緩存18m 發布:2023-09-29 07:57:27 瀏覽:784
吃雞給別的房間的密碼是多少 發布:2023-09-29 07:56:45 瀏覽:549
數控折彎編程 發布:2023-09-29 07:55:49 瀏覽:432