Ai
5 Star 36 Fork 25

随心/ProjectStudy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ComputerStructure.java 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
随心 提交于 2023-02-04 23:06 +08:00 . 设计模式-访问者模式
package com.design.visitor;
/**
* 计算机结构对象,也可以同时充当具体节点的作用
*
* @author wliduo[i@dolyw.com]
* @date 2023/2/3 17:33
*/
public class ComputerStructure extends ComputerNode {
/*ComputerNode computerNode = new CpuComputerNodeImpl();
ComputerNode memoryComputerNode = new MemoryComputerNodeImpl();
ComputerNode boardComputerNode = new BoardComputerNodeImpl();*/
protected ComputerNode[] computerNodeArray;
public ComputerStructure() {
computerNodeArray = new ComputerNode[] {new CpuComputerNodeImpl(),
new MemoryComputerNodeImpl(), new BoardComputerNodeImpl()};
}
@Override
public void accept(Visitor visitor) {
/*this.computerNode.accept(visitor);
this.memoryComputerNode.accept(visitor);
this.boardComputerNode.accept(visitor);*/
for (ComputerNode computerNode : computerNodeArray) {
computerNode.accept(visitor);
}
// 整个结构对象,也同时充当节点的作用就需要调用
visitor.visit(this);
}
@Override
public double getPrice() {
// 计算机除去CPU内存主板后其他东西的总和
return 1000;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/dolyw/ProjectStudy.git
git@gitee.com:dolyw/ProjectStudy.git
dolyw
ProjectStudy
ProjectStudy
master

搜索帮助