麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

設計模式-原型模式

2019-11-10 20:08:14
字體:
來源:轉載
供稿:網友

原型模式又稱對象復制模式,淺拷貝的時候,一般采用Object類的clone()方法.

給出如下場景: 人做某種運動.

1.建立抽象類 人

2.建立抽象類 運動

3.建立場景管理類,通過管理類實現場景

java代碼如下:

package com.liu.pattern6;public class PRototype {	public static void main(String[] args) {		// TODO Auto-generated method stub		Manager.play(new Man("張三","15"), new Run("跑步"));	}	}class Manager{		public static void play(Person p,Activity a){				Person p2 = (Person) p.clone();		Activity a2 = (Activity)a.clone();				System.out.println(p2.toString() + a2.toString());			}}abstract class Person implements Cloneable {		public Person(String name,String age){		this.name =name;		this.age = age;	}		private String name;	private String age;	public String getName() {		return name;	}		public void setName(String name) {		this.name = name;	}		public String getAge() {		return age;	}		public void setAge(String age) {		this.age = age;	}		public Object clone(){		try {			return super.clone();		} catch (CloneNotSupportedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		return null;	}		public abstract String toString();}class Man extends Person{	public Man(String name, String age) {		super(name, age);		// TODO Auto-generated constructor stub	}	@Override	public String toString() {		// TODO Auto-generated method stub		return super.getName()+"("+super.getAge()+")";	}	}abstract class Activity implements Cloneable{		public Activity(String name){		this.name = name;	}		private String name;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}		public Object clone(){		try {			return super.clone();		} catch (CloneNotSupportedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		return null;	}		public abstract String toString();}class Run extends Activity{	public Run(String name) {		super(name);		// TODO Auto-generated constructor stub	}	@Override	public String toString() {		// TODO Auto-generated method stub		return "在進行"+super.getName()+"的運動";	}	}

 

c#代碼如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace com.liu.pattern6{    class Prototype    {        static void Main(string[] args)        {            Manager.play(new Man("張三", "15"), new Run("跑步"));        }    }    class Manager    {        public static void play(Person p, Activity a){				Person p2 = (Person) p.clone();		Activity a2 = (Activity)a.clone();				System.Console.WriteLine(p2.toString() + a2.toString());        System.Console.ReadKey();			    }    }    abstract class Person {	        private String _name;        private String _age;        public String Name{            set{                _name = value;             }            get{                return _name;            }        }        public String Age{            set{                _age = value;             }            get{                return _age;            }        }	    public Person(String name,String age){		    Name =name;		    Age = age;	    }		    public Object clone(){            return base.MemberwiseClone();	    }		    public abstract String toString();    }    class Man : Person{	    public Man(String name, String age):base(name,age) {	    }	    public override String toString() {		    // TODO Auto-generated method stub		    return base.Name+"("+base.Age+")";	    }	    }    abstract class Activity{	    	    public Activity(String name){		    Name = name;	    }		    private String _name;        public String Name {            set { _name = value; }            get { return _name; }        }		    public Object clone(){            return base.MemberwiseClone();	    }		    public abstract String toString();    }    class Run : Activity{	    public Run(String name):base(name) {		    // TODO Auto-generated constructor stub	    }        public override String toString()        {		    // TODO Auto-generated method stub            return "在進行" + base.Name+ "的運動";	    }	    }}

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产chinesehd精品91 | 又黄又爽又色无遮挡免费 | 久久久鲁 | 欧美一级特黄aaaaaaa什 | 一级尻逼视频 | 精品国产一区二区三区在线 | www.成人精品 | av不卡免费在线观看 | 欧美日韩在线免费观看 | 国产精品美女久久久久久不卡 | 毛片av网 | 精品一区二区三区中文字幕老牛 | 欧美一级淫片免费播放口 | 午夜精品久久久久久久爽 | 中文字幕 亚洲一区 | 久久狠狠高潮亚洲精品 | 国产精品久久久久久模特 | 91 视频网站 | 黑人一区二区三区四区五区 | 在线a亚洲视频播放在线观看 | av免播放 | 校花被肉干高h潮不断 | 亚洲性生活免费视频 | 91热久久免费频精品黑人99 | 水卜樱一区二区av | 日本在线观看中文字幕 | 中文字幕一二三区芒果 | 久久精品99久久久久久2456 | 国产成人精品区 | 亚洲无毛av | 国产精品久久久久久久久久10秀 | 欧美成人鲁丝片在线观看 | 久久国产夫妻视频 | 91小视频在线观看免费版高清 | 九九热视频这里只有精品 | 亚洲一区二区三区高清视频 | 最新中文字幕在线视频 | 成人羞羞在线观看网站 | 免费看成人毛片 | 天天色综合2 | 欧美成人三级大全 |