当前位置: 首页 > news >正文

做本地生活圈网站好吗网站模板定制

做本地生活圈网站好吗,网站模板定制,新手做网站教程,网站题目有哪些让我们以游戏开发中的棋类游戏(例如国际象棋)为例来展示享元模式的代码实现。在这个例子中,棋子的类型是内部状态,而棋子的位置是外部状态。 Java 代码示例 import java.util.HashMap; import java.util.Map;// 享元接口 interf…

让我们以游戏开发中的棋类游戏(例如国际象棋)为例来展示享元模式的代码实现。在这个例子中,棋子的类型是内部状态,而棋子的位置是外部状态。

Java 代码示例

import java.util.HashMap;
import java.util.Map;// 享元接口
interface ChessPieceFlyweight {void move(int x, int y); // 外部状态:位置String getColor(); // 内部状态:颜色
}// 具体享元类
class ConcreteChessPiece implements ChessPieceFlyweight {private final String color; // 内部状态public ConcreteChessPiece(String color) {this.color = color;}@Overridepublic void move(int x, int y) {System.out.printf("Moving %s piece to (%d,%d).\n", color, x, y);}@Overridepublic String getColor() {return color;}
}// 享元工厂
class ChessPieceFactory {private static final Map<String, ChessPieceFlyweight> pieces = new HashMap<>();public static ChessPieceFlyweight getChessPiece(String color) {if (!pieces.containsKey(color)) {ChessPieceFlyweight piece = new ConcreteChessPiece(color);pieces.put(color, piece);}return pieces.get(color);}
}// 客户端代码
public class FlyweightExample {public static void main(String[] args) {ChessPieceFlyweight whitePiece = ChessPieceFactory.getChessPiece("White");ChessPieceFlyweight blackPiece = ChessPieceFactory.getChessPiece("Black");// 棋子被多次移动到不同位置,但对象是共享的whitePiece.move(1, 2);blackPiece.move(2, 3);whitePiece.move(4, 5);// ... 其他棋子移动操作}
}

在这个例子中,ChessPieceFlyweight 接口定义了棋子的外部状态方法 move 和内部状态方法 getColorConcreteChessPiece 类实现了这个接口,并持有内部状态 color,它在棋子的生命周期中是不变的。

ChessPieceFactory 类是享元工厂,它确保同一颜色的棋子只创建一次,并在之后的请求中返回已创建的实例。这样,即使在棋盘上有多个同色棋子,实际上它们都是由同一个享元实例代表的。

客户端代码通过享元工厂获取棋子实例,并多次调用 move 方法来改变棋子的位置,这些位置信息作为外部状态在每次调用时传入。

这个例子展示了享元模式如何在需要大量相似对象的情况下减少内存消耗,通过共享实例来避免重复创建相同或相似的对象。

http://www.hengruixuexiao.com/news/12511.html

相关文章:

  • 手机网站建设维护房管局备案查询网站
  • 安徽华强建设集团网站app开发需要多少钱
  • 美食网站策划书范文大数据精准营销的策略
  • 微信企业公众号开发seo基础教程使用
  • 天眼查企业工商查询黑帽seo技术论坛
  • 服务器IP做网址打开网站打开百度一下搜索
  • 聊城企业做网站推广整站优化代理
  • 做效果图网站有哪些网站快速排名优化哪家好
  • 网站做跳转付款360站长
  • 荆门网站制作公司宁波网站建设公司哪家好
  • 做网站用虚拟主机怎么样友情链接英文翻译
  • 朝阳区手机网站设计服务网络推广都是收费
  • 武汉网站优化怎么做如何自己搭建一个网站
  • 如何建立自己网站视频seo流量软件
  • 登陆网站怎么做营销软件排名
  • 邢台核酸检测点百度网站推广排名优化
  • 网站备案证书下载密码忘了google首页
  • 校园互动网站建设全网营销是什么意思
  • 做再生资源的网站有哪些微信营销推广方案
  • 做oa系统的网站百度快照seo
  • 在国外做热情网站的风险如何推广小程序
  • design网站五八精准恶意点击软件
  • 网盘爬虫源码是做网站来用的seo上首页排名
  • 四川德行天下建设工程有限公司网站seo网站的优化方案
  • 购物商城网站开发万物识别扫一扫
  • 网站建设师公司品牌推广方案范文
  • 电子商务网站建设报价东莞推广系统
  • 然后做服装网站济南网站优化
  • 做ps赚钱网站有哪些百度竞价推广后台
  • 电子商务网站建设教程 pdf无锡百度正规推广