java設計模式的代碼 java設計模式代碼實戰(zhàn)

Java設計模式之Iterator模式介紹

所謂Iterator模式 即是Iterator為不同的容器提供一個統(tǒng)一的訪問方式 本文以java中的容器為例 模擬Iterator的原理 需要的朋友可以參考下 ?

站在用戶的角度思考問題,與客戶深入溝通,找到海滄網(wǎng)站設計與海滄網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋海滄地區(qū)。

首先定義一個容器Collection接口

復制代碼 代碼如下: package njupt zhb learn iterator; public interface Collection { ?void add(Object o); ?int size(); ?Iterator iterator(); }

定義一個Iterator迭代器的接口

復制代碼 代碼如下: package njupt zhb learn iterator; public interface Iterator { ?Object next(); ?boolean hasNext(); }

定義一個ArrayList 實現(xiàn)Collection接口 并寫一個實現(xiàn)了Iterator接口的內(nèi)部類

復制代碼 代碼如下: package njupt zhb learn iterator; import njupt zhb learn iterator Collection; public class ArrayList implements Collection { ?Object[] objects = new Object[ ]; ?int index = ; ?public void add(Object o) { ??if(index == objects length) { ???Object[] newObjects = new Object[objects length * ]; ???System arraycopy(objects newObjects objects length); ???objects = newObjects; ??} ??objects[index] = o; ??index ++; ?} ?public int size() { ??return index; ?} ?public Iterator iterator() { ??return new ArrayListIterator(); ?} ?private class ArrayListIterator implements Iterator { ??private int currentIndex = ; ??@Override ??public boolean hasNext() { ???if(currentIndex = index) return false; ???else return true; ??} ??@Override ??public Object next() { ???Object o = objects[currentIndex]; ???currentIndex ++; ???return o; ??} ?} }

編寫測試程序TestMain

復制代碼 代碼如下: package njupt zhb learn iterator; import njupt zhb learn iterator ArrayList; public class TestMain { ?public static void main(String[] args) { ??Collection c = new ArrayList(); ??for(int i= ; i ; i++) { ???c add("string "+i); ??} ??System out println(c size()); ??Iterator it = c iterator(); ??while(it hasNext()) { ???Object o = it next(); ???System out println(o toString() + " "); ??} ?} }

運行結(jié)果

復制代碼 代碼如下: string string string string string string string string string string string string string string string lishixinzhi/Article/program/Java/JSP/201311/20579

java之單例設計模式

設計模式 解決某一類問題最行之有效的方法 (java中有 種通用設計模式)單例設計模式 解決一個類在內(nèi)存中只存在一個對象 單例設計模式有兩種方式 )餓漢式先初始化對象 當類一進內(nèi)存就創(chuàng)建好對象 )懶漢式對象是方法被調(diào)用時才初始化 也叫延時加載 類進內(nèi)存時 對象還沒有存在 只有通過方法調(diào)用時 才建立對象 單例設計模式 是想要保證對象的唯一 )為了避免其他程序過多建立該類對象 先禁止其他程序建立該類對象 )還為了讓其他程序可以訪問到該類對象 只好在本類中自定義一個對象 )為了方便其他程序?qū)ψ远x對象的訪問 可以對外其他一些訪問方式 利用這三步進行代碼實現(xiàn) )將構(gòu)造函數(shù)私有化 )在類中創(chuàng)建一個本類對象 )提供一個方法可以獲取到該對象提示 在單例設計模式中 事物該怎么描述還怎么描述 當需要將該事物的對象保證在內(nèi)存中唯一時 加上以上三步即可 代碼說明 // )餓漢式[java]class Single{private int num;public void setNum(int num){this num = num;}public int getNum(){return num;}//將構(gòu)造函數(shù)私有化private Single(){}//在類中創(chuàng)建一個本類對象 因為構(gòu)造函數(shù)被私有化 該類不能創(chuàng)建對象 想在外部訪問 所以將其靜態(tài)private static Single s = new Single() //提供一個方法可以獲取到該對象 不能創(chuàng)建對象 所以將方法靜態(tài) 可以通過 (類名 方法名)的形式進行訪問public static Single getInstance(){return s;}}class SingleDemo{public static void main(String[] args){//單例的構(gòu)造函數(shù)被靜態(tài)后不能創(chuàng)建對象 保證對象的唯一 所以通過 (類名 方法名)的形式進行訪問Single s = Single getInstance() Single s = Single getInstance() s setNum( ) System out println(s getNum()) //結(jié)果 因為Single單例里面對對象和方法進行了靜態(tài) 數(shù)據(jù)共享 所以s 的值}}

lishixinzhi/Article/program/Java/hx/201311/26060

JAVA23種設計模式

一、大約分為三類:

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

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

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

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

1、開閉原則(OpenClosePrinciple)

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

2、里氏代換原則(LiskovSubstitutionPrinciple)

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

3、依賴倒轉(zhuǎn)原則(DependenceInversionPrinciple)

這個是開閉原則的基礎,對接口編程,依賴于抽象而不依賴于具體。

4、接口隔離原則(InterfaceSegregationPrinciple)

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

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

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

6、合成復用原則(CompositeReusePrinciple)

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

名稱欄目:java設計模式的代碼 java設計模式代碼實戰(zhàn)
本文地址:http://muchs.cn/article12/hgijdc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站內(nèi)鏈動態(tài)網(wǎng)站、標簽優(yōu)化、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名