中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

有哪些h5做的網(wǎng)站怎么卸載windows優(yōu)化大師

有哪些h5做的網(wǎng)站,怎么卸載windows優(yōu)化大師,任縣網(wǎng)站建設(shè)網(wǎng)絡(luò)公司,win7電腦做網(wǎng)站服務(wù)器Java裝飾器模式 摘要實(shí)現(xiàn)范例 裝飾器模式(Decorator Pattern)允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu) 裝飾器模式創(chuàng)建了一個(gè)裝飾類(lèi),用來(lái)包裝原有的類(lèi),并在保持類(lèi)方法簽名完整性的前提下,提供…

Java裝飾器模式

    • 摘要
    • 實(shí)現(xiàn)
    • 范例

  • 裝飾器模式(Decorator Pattern)允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)

  • 裝飾器模式創(chuàng)建了一個(gè)裝飾類(lèi),用來(lái)包裝原有的類(lèi),并在保持類(lèi)方法簽名完整性的前提下,提供了額外的功能

裝飾器模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類(lèi)的一個(gè)包裝

摘要

1. 意圖

動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),裝飾器模式相比生成子類(lèi)更為靈活

2. 主要解決

一般的,我們?yōu)榱藬U(kuò)展一個(gè)類(lèi)經(jīng)常使用繼承方式實(shí)現(xiàn),由于繼承為類(lèi)引入靜態(tài)特征,并且隨著擴(kuò)展功能的增多,子類(lèi)會(huì)很膨脹

3. 何時(shí)使用

  • 在不想增加很多子類(lèi)的情況下擴(kuò)展類(lèi)

4. 如何解決

將具體功能職責(zé)劃分,同時(shí)繼承裝飾者模式

5. 關(guān)鍵代碼

  • Component類(lèi)充當(dāng)抽象角色,不應(yīng)該具體實(shí)現(xiàn);
  • 修飾類(lèi)引用和繼承Component類(lèi),具體擴(kuò)展類(lèi)重寫(xiě)父類(lèi)方法;

6. 應(yīng)用實(shí)例

  • 孫悟空有72變,當(dāng)他變成”廟宇”后,他的根本還是一只猴子,但是他又有了廟宇的功能;
  • 不論一幅畫(huà)有沒(méi)有畫(huà)框都可以?huà)煸趬ι?#xff0c;但是通常都是有畫(huà)框的,并且實(shí)際上是畫(huà)框被掛在墻上在掛在墻上之前,畫(huà)可以被蒙上玻璃,裝到框子里;這時(shí)畫(huà)、玻璃和畫(huà)框形成了一個(gè)物體;

7. 優(yōu)點(diǎn)

  • 裝飾類(lèi)和被裝飾類(lèi)可以獨(dú)立發(fā)展,不會(huì)相互耦合,裝飾模式是繼承的一個(gè)替代模式,裝飾模式可以動(dòng)態(tài)擴(kuò)展一個(gè)實(shí)現(xiàn)類(lèi)的功能

8. 缺點(diǎn)

  • 多層裝飾比較復(fù)雜

9. 使用場(chǎng)景

  • 擴(kuò)展一個(gè)類(lèi)的功能;
  • 動(dòng)態(tài)增加功能,動(dòng)態(tài)撤銷(xiāo);

10. 注意事項(xiàng)

  • 可代替繼承

實(shí)現(xiàn)

在這里插入圖片描述

  1. 創(chuàng)建一個(gè)Shape接口和實(shí)現(xiàn)了Shape接口的實(shí)體類(lèi);
  2. 創(chuàng)建一個(gè)實(shí)現(xiàn)了Shape接口的抽象裝飾類(lèi)ShapeDecorator,并把Shape對(duì)象作為它的實(shí)例變量;
  3. 創(chuàng)建類(lèi)RedShapeDecorator實(shí)現(xiàn)了ShapeDecorator實(shí)體類(lèi);
  4. 創(chuàng)建類(lèi)DecoratorPatternDemo使用RedShapeDecorator來(lái)裝飾Shape對(duì)象;

范例

我們通過(guò)下面的范例來(lái)演示裝飾器模式的用法,其中,我們將把一個(gè)形狀裝飾上不同的顏色,同時(shí)又不改變形狀類(lèi)

1.創(chuàng)建一個(gè)接口.

Shape.java

package com.demo.gof;
public interface Shape {void draw();
}

2. 創(chuàng)建實(shí)現(xiàn)接口的實(shí)體類(lèi)

Rectangle.java

package com.demo.gof;
public class Rectangle implements Shape {@Overridepublic void draw() {System.out.println("Shape: Rectangle");}
}

Circle.java

package com.demo.gof;
public class Circle implements Shape {@Overridepublic void draw() {System.out.println("Shape: Circle");}
}

3. 創(chuàng)建實(shí)現(xiàn)了 Shape 接口的抽象裝飾類(lèi)

ShapeDecorator.java

package com.demo.gof;
public abstract class ShapeDecorator implements Shape {protected Shape decoratedShape;public ShapeDecorator(Shape decoratedShape){this.decoratedShape = decoratedShape;}public void draw(){decoratedShape.draw();}    
}

4. 創(chuàng)建擴(kuò)展了 ShapeDecorator 類(lèi)的實(shí)體裝飾類(lèi)

RedShapeDecorator.java

package com.demo.gof;
public class RedShapeDecorator extends ShapeDecorator {public RedShapeDecorator(Shape decoratedShape) {super(decoratedShape);        }@Overridepublic void draw() {decoratedShape.draw();           setRedBorder(decoratedShape);}private void setRedBorder(Shape decoratedShape){System.out.println("Border Color: Red");}
}

5. 使用 RedShapeDecorator 來(lái)裝飾 Shape 對(duì)象

DecoratorPatternDemo.java

package com.demo.gof;
public class DecoratorPatternDemo {public static void main(String[] args) {Shape circle = new Circle();Shape redCircle = new RedShapeDecorator(new Circle());Shape redRectangle = new RedShapeDecorator(new Rectangle());System.out.println("Circle with normal border");circle.draw();System.out.println("\nCircle of red border");redCircle.draw();System.out.println("\nRectangle of red border");redRectangle.draw();}
}

編譯運(yùn)行以上 Java 范例,輸出結(jié)果如下

$ javac -d . src/main/com.demo/gof/DecoratorPatternDemo.java
$ java  com.demo.gof.DecoratorPatternDemo
Circle with normal border
Shape: CircleCircle of red border
Shape: Circle
Border Color: RedRectangle of red border
Shape: Rectangle
Border Color: Red
http://www.risenshineclean.com/news/48746.html

相關(guān)文章:

  • wordpress多站點(diǎn)sitemap免費(fèi)建站網(wǎng)站大全
  • 360網(wǎng)站攔截做韶關(guān)新聞最新今日頭條
  • 網(wǎng)站建設(shè)預(yù)算策劃百度seo霸屏軟件
  • 做磁力解析網(wǎng)站今日nba比賽直播
  • java做網(wǎng)站如何引流推廣軟件
  • 介紹國(guó)外的網(wǎng)站有什么不同谷歌瀏覽器下載安裝2022
  • 童裝 技術(shù)支持 東莞網(wǎng)站建設(shè)百度快速收錄seo工具軟件
  • 網(wǎng)站模版制作口碑營(yíng)銷(xiāo)案例分析
  • 東莞專(zhuān)業(yè)網(wǎng)站建站設(shè)計(jì)昆明seocn整站優(yōu)化
  • 網(wǎng)站后臺(tái)都需要什么軟件做瀏覽器大全
  • 濟(jì)南高端網(wǎng)站建設(shè)公司淘寶關(guān)鍵詞怎么優(yōu)化
  • 做網(wǎng)站好的框架重慶高端品牌網(wǎng)站建設(shè)
  • 網(wǎng)站建設(shè)哪家好靈活蘇州久遠(yuǎn)網(wǎng)絡(luò)網(wǎng)絡(luò)建站優(yōu)化科技
  • 股票交易網(wǎng)站開(kāi)發(fā)seo上首頁(yè)排名
  • php mysql網(wǎng)站開(kāi)發(fā)全程實(shí)例推廣方式有哪幾種
  • 網(wǎng)站cms大全枸櫞酸西地那非片的作用及功效
  • 有沒(méi)有做q版頭像的網(wǎng)站seo在線(xiàn)培訓(xùn)機(jī)構(gòu)排名
  • 有哪些做的比較精美的網(wǎng)站長(zhǎng)沙seo
  • 建設(shè)部網(wǎng)站官網(wǎng)造價(jià)工程師孫思新app推廣刷量
  • 政府網(wǎng)站誰(shuí)來(lái)做建網(wǎng)站需要多少錢(qián)
  • 上海企業(yè)公示網(wǎng)優(yōu)化軟件有哪些
  • 靖江有哪些做網(wǎng)站的如何網(wǎng)站優(yōu)化排名
  • 西寧做網(wǎng)站君博認(rèn)同seo軟文是什么意思
  • 寬帶開(kāi)戶(hù)多少錢(qián)百度seo在哪里
  • 國(guó)外做寵物產(chǎn)品的網(wǎng)站百度關(guān)鍵詞工具在哪里
  • 企業(yè)申請(qǐng)網(wǎng)站建設(shè)請(qǐng)示朋友圈網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 知名做網(wǎng)站公司經(jīng)典軟文推廣案例
  • 圖文網(wǎng)站模版抖音關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)規(guī)劃書(shū)中包含內(nèi)容南寧seo網(wǎng)站排名優(yōu)化公司
  • 電子商務(wù)網(wǎng)站設(shè)計(jì)制作公司網(wǎng)站的步驟