用原型實例指定創建對象的種類,并且都過拷貝這些原型建建新的對象。
prototype模式充許一個對象再創建另一個可定制的對象,根本無需知道創建的細節。
java中提供了clone()來實現對象克隆。所以prototype模式變得了很簡單。請參考以下例程:
package com.pdw.pattern;
abstract class AbsHello implements Cloneable{
?
?String username;
?public String getUsername() {
??return username;
?}
?public void setUsername(String username) {
??this.username = username;
?}
?
?public abstract void sayHello();
?
?public Object clone(){
??Object object=null;
??try{
???object=super.clone();
???
??}catch(Exception e){
???System.err.println(e);
??}
??return object;
?}
}
class OneHello extends AbsHello{
?public OneHello(){
??setUsername("peidw");
?}
?@Override
?public void sayHello() {
??// TODO Auto-generated method stub
??System.out.println("OneHello-->SayHello to "+username);
?}
?
}
class TwoHello extends AbsHello{
?public TwoHello(){
??setUsername("pxm");
?}
?@Override
?public void sayHello() {
??// TODO Auto-generated method stub
??System.out.println("TwoHello-->sayHello to "+username);
?}
?
}
public class Prototype {
?/**
? * @param args
? */
?public static void main(String[] args) {
??// TODO Auto-generated method stub
??AbsHello oneh=new OneHello();
??AbsHello twoh=new TwoHello();
??oneh.sayHello();
??twoh.sayHello();
?}
}
posted on 2006-06-28 23:26
有貓相伴的日子 閱讀(244)
評論(0) 編輯 收藏 所屬分類:
Patterns