大话设计模式-原型模式

来源:互联网 发布:易语言股票助理源码 编辑:程序博客网 时间:2024/05/18 13:42

原型模式

用原型实例来指定创建对象的种类,并且通过拷贝这这些原型创建新的对象

这里写图片描述

自己定义copy对象代码(自己写的,求bug)

// 定义一个可以实现复制自己的抽象父类 让子类继承public abstract class CopySuper {    public CopySuper copy() {        Class<? extends CopySuper> aClass = this.getClass();        Field[] fields = aClass.getFields();        CopySuper copySuper = null;        try {            copySuper = aClass.newInstance();            for (Field f : fields) {                f.set(copySuper, f.get(this));                System.out.println(f.getName());            }        } catch (Exception e) {            e.printStackTrace();        }        aClass.getName();        System.out.println(aClass.getName());        return copySuper;    }}// 继承copySuper public class CopyAbc extends CopySuper{    public String a;    public String b;    public String c;    public String d;}public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        CopyAbc copyAbc = new CopyAbc();        copyAbc.a = "b";        copyAbc.b = "c";        copyAbc.c = "d";        copyAbc.d = "a";        CopyAbc copy = (CopyAbc) copyAbc.copy();        System.out.println(copy.a);        System.out.println(copy.b);        System.out.println(copy.c);        System.out.println(copy.d);    }}

控制台打印

这里写图片描述

0 0