网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

用一个实例说明原型模式的使用方法

时间:2023-06-01 14:18

人气:

作者:admin

标签: 一个  实例  说明  原型   

导读:原型模式是指将类设计成可复制(克隆)类型,继承Cloneable类,在调用时就可以直接通过clone()方法克隆已有对象生成新的对象。...

原型模式是指将类设计成可复制(克隆)类型,继承Cloneable类,在调用时就可以直接通过clone()方法克隆已有对象生成新的对象。其优点是使用clone()方法创建新对象时消耗的资源比使用new方法创建新对象时消耗的资源要少,因此采用原型方法可以提高性能,减少消耗。

以下一个实例说明原型模式的使用方法,如图创建各类。PrototypeCapable接口类继承Cloneable类,而Movie和show这两个类实现PrototypeCapable接口,是具体的可复制原型类型。

图片

PrototypeCapable接口类:

package prototype;
public interface PrototypeCapable extends Cloneable{
  PrototypeCapable clone() throws CloneNotSupportedException;
}

Movie具体原型类:

package prototype;
public class Movie implements PrototypeCapable{
  @Override
  public Movie clone() throws CloneNotSupportedException{
    System.out.println(this);
    return (Movie)super.clone();  //返回超类的克隆
  }
}

Show具体原型类:

package prototype;
public class Show implements PrototypeCapable{
  @Override
  public Show clone() throws CloneNotSupportedException{
    System.out.println(this);
    return (Show)super.clone();  //返回超类的克隆
  }
}

主函数调用方式:

package main;
import prototype.*;
public class ProtoType {
  public static void main(String[] args) throws CloneNotSupportedException {
    //电影类原型
    Movie moviePrototype = new Movie();
    //克隆电影类原型
    Movie movie = moviePrototype.clone();
    System.out.println(moviePrototype);
    System.out.println(movie);
    //演出类原型
    Show showPrototype = new Show();
    //克隆演出类原型
    Show show = showPrototype.clone();
    System.out.println(showPrototype);
    System.out.println(show);
  }
}
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信