2020最新国产在线不卡a-爱看女同中文字幕av-国产大秀视频在线一区二区-大香蕉手机在线最新视频

石家莊網(wǎng)站開發(fā) 石家莊網(wǎng)站開發(fā)公司

資訊動(dòng)態(tài)

察而思、思而行、行而后語、知行合一

石家莊網(wǎng)站建設(shè)關(guān)于原型模式的認(rèn)知

發(fā)布時(shí)間:2018-07-25 熱度:

  今天尚武科技的網(wǎng)站建設(shè)工程師將為大家?guī)黻P(guān)于網(wǎng)站建設(shè)中常見的模型講解——原型模式。原型模式主要針對(duì)拷貝創(chuàng)建對(duì)象類型,讓我們?cè)僮鐾?jí)對(duì)象可以快速的拷貝。下面我們就一起詳細(xì)的了解一下什么是原型模式。

  原型模式(PrototypePattern)

  定義:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過拷貝這些原型創(chuàng)建新的對(duì)象。

  原型模式通用代碼:

石家莊網(wǎng)站建設(shè),石家莊做網(wǎng)站,原型模式

  原型模式實(shí)際上就是實(shí)現(xiàn)Cloneable接口,重寫clone()方法。

  使用原型模式的優(yōu)點(diǎn):

  ●性能優(yōu)良

  原型模式是在內(nèi)存二進(jìn)制流的拷貝,要比直接new一個(gè)對(duì)象性能好很多,特別是要在一個(gè)循環(huán)體內(nèi)產(chǎn)生大量的對(duì)象時(shí),原型模式可以更好地體現(xiàn)其優(yōu)點(diǎn)。

  ●逃避構(gòu)造函數(shù)的約束

  這既是它的優(yōu)點(diǎn)也是缺點(diǎn),直接在內(nèi)存中拷貝,構(gòu)造函數(shù)是不會(huì)執(zhí)行的。

  使用場景:

  ●資源優(yōu)化場景

  類初始化需要消化非常多的資源,這個(gè)資源包括數(shù)據(jù)、硬件資源等。

  ●性能和安全要求的場景

  通過new產(chǎn)生一個(gè)對(duì)象需要非常繁瑣的數(shù)據(jù)準(zhǔn)備或訪問權(quán)限,則可以使用原型模式。

  ●一個(gè)對(duì)象多個(gè)修改者的場景

  一個(gè)對(duì)象需要提供給其他對(duì)象訪問,而且各個(gè)調(diào)用者可能都需要修改其值時(shí),可以考慮使用原型模式拷貝多個(gè)對(duì)象供調(diào)用者使用。 

  淺拷貝和深拷貝:

  淺拷貝:Object類提供的方法clone只是拷貝本對(duì)象,其對(duì)象內(nèi)部的數(shù)組、引用對(duì)象等都不拷貝,還是指向原生對(duì)象的內(nèi)部元素地址,這種拷貝就叫做淺拷貝,其他的原始類型比如int、long、char、string(當(dāng)做是原始類型)等都會(huì)被拷貝。

  注意:使用原型模式時(shí),引用的成員變量必須滿足兩個(gè)條件才不會(huì)被拷貝:一是類的成員變量,而不是方法內(nèi)變量;二是必須是一個(gè)可變的引用對(duì)象,而不是一個(gè)原始類型或不可變對(duì)象。

  深拷貝:對(duì)私有的類變量進(jìn)行獨(dú)立的拷貝  

   如:thing.arrayList=(ArrayList<String>)this.arrayList.clone();

   以上就是石家莊做網(wǎng)站的尚武科技公司為大家?guī)淼年P(guān)于原型模式的相關(guān)介紹,希望大家能可以從中學(xué)到你想要知道的任何關(guān)于網(wǎng)站建設(shè)的知識(shí)點(diǎn)。

  

聯(lián)系尚武科技
客戶服務(wù)
石家莊APP開發(fā)
400-666-4864
為您提供售前購買咨詢、解決方案推薦等1V1服務(wù)!
技術(shù)支持及售后
石家莊APP開發(fā)公司
0311-66682288
為您提供從產(chǎn)品到服務(wù)的全面技術(shù)支持 !
客戶服務(wù)
石家莊小程序開發(fā)
石家莊小程序開發(fā)公司
加我企業(yè)微信
為您提供售前購買咨詢、
解決方案推薦等1V1服務(wù)!
石家莊網(wǎng)站建設(shè)公司
咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系。
石家莊網(wǎng)站制作
在線聯(lián)系:
石家莊Web開發(fā)
石家莊軟件開發(fā)
石家莊軟件開發(fā)公司
ADD/地址:
河北·石家莊
新華區(qū)西三莊大街86號(hào)河北互聯(lián)網(wǎng)大廈B座二層
Copyright ? 2008-2025尚武科技 保留所有權(quán)利。 冀ICP備12011207號(hào)-2 石家莊網(wǎng)站開發(fā)冀公網(wǎng)安備 13010502001294號(hào)《互聯(lián)網(wǎng)平臺(tái)公約協(xié)議》
Copyright ? 2025 dachencms.com, Inc. All rights reserved