设计模式-享元模式

复制代码
import java.nio.channels.Pipe;

public class 享元模式 {
    public static void main(String[] args)
    {
        pieceFactory factory=new pieceFactory();
        Piece whitePiece=factory.getPiece(0);
        Piece whitePiece1=factory.getPiece(1);
        Piece whitePiece2=factory.getPiece(0);
        System.out.println(whitePiece);
        System.out.println(whitePiece);
        System.out.println(whitePiece);//位于同一位置

        whitePiece.draw(25,30);

    }
}

class pieceFactory{
    private Piece[] pieces={new whitePiece(),new blackPiece()};

    public Piece getPiece(int key)
    {
        if(key==0)
            return pieces[0];
        else
            return pieces[1];
    }
}
abstract class Piece{
    protected String color;
    public abstract void draw(int x,int y);
}
class whitePiece extends Piece{
    public whitePiece()
    {
        this.color="white";
    }
    @Override
    public void draw(int x,int y)
    {
        System.out.println("draw a color:  "+color+"piece x:  "+x+"piece y:  "+y);
    }
}
class blackPiece extends Piece{
    public blackPiece()
    {
        this.color="black";
    }
    @Override
    public void draw(int x,int y)
    {
        System.out.println("draw a color:  "+color+"piece x:  "+x+"piece y:  "+y);
    }
}
复制代码

运行结果

 

posted @   辞楠  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示