日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式--原型模式

發布時間:2025/3/19 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式--原型模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

跟MM用QQ聊天,一定要說些深情的話語了,我搜集了好多肉麻的情話,需要時只要copy出來放到QQ里面就行了,這就是我的情話prototype了。(6塊錢的麻辣燙,你要不要?)?? 原始模型模式:通過給出一個原型對象來指明所要創建的對象的類型,然后用復制這個原型對象的方法創建出更多同類型的對象。原始模型模式允許動態的增加或減少產品類,產品類不需要非得有任何事先確定的等級結構,原始模型模式適用于任何的等級結構。缺點是每一個類都必須配備一個克隆方法。??

?

因為Java中的提供clone()方法來實現對象的克隆(具體了解clone()按這里),所以Prototype模式實現一下子變得很簡單.

那接下來就實現我的“6塊錢的麻辣燙,你要不要?”copy;

?

package com.soyoungboy.prototype;public class AbstractWords implements Cloneable {String message;public Object clone() {Object object = null;try {object = super.clone();} catch (CloneNotSupportedException exception) {System.err.println("AbstractWords is not Cloneable");}return object;}public void setMessage(String message) {this.message = message;}public String getSpoonName() {return this.message;}}

?

package com.soyoungboy.prototype;public class WordsOfLoveMeaasge extends AbstractWords {@Overridepublic void setMessage(String message) {super.setMessage(message);} }

?

 

package com.soyoungboy.prototype;public class Main {public static void main(String[] args) {AbstractWords spoon = new WordsOfLoveMeaasge(); spoon.setMessage("6塊錢的麻辣燙,你要不要?");System.out.println(spoon.getSpoonName());System.out.println("--------------------");AbstractWords spoon2 = (AbstractWords)spoon.clone();System.out.println(spoon2.getSpoonName());System.out.println("--------------------");AbstractWords spoon3 = (AbstractWords)spoon.clone();System.out.println(spoon3.getSpoonName());}}

?

?

 

運行結果:

6塊錢的麻辣燙,你要不要?
--------------------
6塊錢的麻辣燙,你要不要?
--------------------
6塊錢的麻辣燙,你要不要?


2015年12月6日22:41:30更新

原型設計模式的概念:

制定創建對象的種類,通過拷貝原型來創建新的對象。

使用場景:

通過new產生對象需要非常繁瑣的數據準備或者訪問權限的時候可以使用原型設計模式。

淺拷貝,深拷貝:

淺拷貝:淺拷貝僅僅復制所考慮的對象,而不拷貝它所引用的對象;

深拷貝:深復制把要復制的對象所引用的對象都復制了一遍。

如下有篇文章:先看看,等以后深刻理解再來寫自己的思路

http://www.cnblogs.com/shuaiwhu/archive/2010/12/14/2065088.html

?原型模式的優缺點:

優點:原型設計模式能夠防止外部對這個只讀對象的修改,通常通過返回對象拷貝來實現只讀的限制

android中原型模式的使用

intent中使用原型模式:

Uri uri = Uri.parse("smsto:0800000123"); Intent shareIntent = new Intent(Intent.ACTION_SENDTO, uri); shareIntent.putExtra("sms_body", "The SMS text"); Intent intent = (Intent)shareIntent.clone() ;startActivity(intent);

?

總結

以上是生活随笔為你收集整理的设计模式--原型模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。