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

怎么样注册一个网站站长工具下载app

怎么样注册一个网站,站长工具下载app,自己的网站到期域名如何续费,制作 网站导航 下拉菜单访问者模式是一种行为设计模式,它允许您在不修改对象结构的情况下,向对象结构中的元素添加新的操作。这通常用于解决对象结构中元素类型多变,但操作类型相对稳定的问题。在访问者模式中,我们有一个访问者接口和多个具体的元素类&a…

访问者模式是一种行为设计模式,它允许您在不修改对象结构的情况下,向对象结构中的元素添加新的操作。这通常用于解决对象结构中元素类型多变,但操作类型相对稳定的问题。在访问者模式中,我们有一个访问者接口和多个具体的元素类,每个元素类都可以接受访问者的访问。以下是在 Java 中实现访问者模式的一般步骤:

  1. 创建一个访问者接口(Visitor):该接口定义了对不同元素执行的访问操作。

  2. 创建多个具体元素类(ConcreteElement):这些类表示对象结构中的不同元素,并实现了接受访问者访问的方法。

  3. 创建一个对象结构类(ObjectStructure):这个类维护一个元素的集合,并允许访问者访问这些元素。

  4. 创建具体访问者类(ConcreteVisitor):这些类实现了访问者接口,并定义了对具体元素的访问操作。

现在,让我们通过一个示例来实现访问者模式。假设我们有一个图形(Shape)类层次结构,包括圆形(Circle)和矩形(Rectangle)等不同的形状,并且我们希望能够计算它们的面积和周长:

// 步骤 1: 创建访问者接口
interface ShapeVisitor {void visitCircle(Circle circle);void visitRectangle(Rectangle rectangle);
}// 步骤 2: 创建具体元素类
abstract class Shape {abstract void accept(ShapeVisitor visitor);
}class Circle extends Shape {private double radius;public Circle(double radius) {this.radius = radius;}public double getRadius() {return radius;}@Overridevoid accept(ShapeVisitor visitor) {visitor.visitCircle(this);}
}class Rectangle extends Shape {private double width;private double height;public Rectangle(double width, double height) {this.width = width;this.height = height;}public double getWidth() {return width;}public double getHeight() {return height;}@Overridevoid accept(ShapeVisitor visitor) {visitor.visitRectangle(this);}
}// 步骤 3: 创建对象结构类
class Drawing {private List<Shape> shapes = new ArrayList<>();public void addShape(Shape shape) {shapes.add(shape);}public void accept(ShapeVisitor visitor) {for (Shape shape : shapes) {shape.accept(visitor);}}
}// 步骤 4: 创建具体访问者类
class AreaCalculator implements ShapeVisitor {private double totalArea = 0;@Overridepublic void visitCircle(Circle circle) {double area = Math.PI * circle.getRadius() * circle.getRadius();totalArea += area;}@Overridepublic void visitRectangle(Rectangle rectangle) {double area = rectangle.getWidth() * rectangle.getHeight();totalArea += area;}public double getTotalArea() {return totalArea;}
}class PerimeterCalculator implements ShapeVisitor {private double totalPerimeter = 0;@Overridepublic void visitCircle(Circle circle) {double perimeter = 2 * Math.PI * circle.getRadius();totalPerimeter += perimeter;}@Overridepublic void visitRectangle(Rectangle rectangle) {double perimeter = 2 * (rectangle.getWidth() + rectangle.getHeight());totalPerimeter += perimeter;}public double getTotalPerimeter() {return totalPerimeter;}
}// 示例
public class Main {public static void main(String[] args) {Drawing drawing = new Drawing();drawing.addShape(new Circle(5.0));drawing.addShape(new Rectangle(3.0, 4.0));AreaCalculator areaCalculator = new AreaCalculator();drawing.accept(areaCalculator);System.out.println("总面积:" + areaCalculator.getTotalArea());PerimeterCalculator perimeterCalculator = new PerimeterCalculator();drawing.accept(perimeterCalculator);System.out.println("总周长:" + perimeterCalculator.getTotalPerimeter());}
}

在这个示例中,我们定义了一个访问者接口 ShapeVisitor,然后创建了具体元素类 CircleRectangle,它们都实现了 accept 方法以接受访问者。对象结构类 Drawing 维护了一个形状列表,并允许访问者访问这些形状。我们还创建了两个具体访问者类 AreaCalculatorPerimeterCalculator,分别用于计算形状的面积和周长。

通过访问者模式,我们可以轻松地添加新的访问者来执行不同的操作,而无需修改现有的元素类。这使得代码更加灵活和可维护。


文章转载自:
http://mythologer.bqrd.cn
http://supervenient.bqrd.cn
http://cupola.bqrd.cn
http://samiel.bqrd.cn
http://vengefully.bqrd.cn
http://carlylean.bqrd.cn
http://multihull.bqrd.cn
http://armory.bqrd.cn
http://fathometer.bqrd.cn
http://screaming.bqrd.cn
http://urbanology.bqrd.cn
http://infrarenal.bqrd.cn
http://zoogony.bqrd.cn
http://osculation.bqrd.cn
http://diorama.bqrd.cn
http://creditability.bqrd.cn
http://overcloud.bqrd.cn
http://harebrained.bqrd.cn
http://dejectile.bqrd.cn
http://nosocomial.bqrd.cn
http://metathorax.bqrd.cn
http://absolvable.bqrd.cn
http://novio.bqrd.cn
http://fireclay.bqrd.cn
http://lachrymatory.bqrd.cn
http://salinity.bqrd.cn
http://reink.bqrd.cn
http://methamphetamine.bqrd.cn
http://dispose.bqrd.cn
http://lampyrid.bqrd.cn
http://satan.bqrd.cn
http://disraelian.bqrd.cn
http://monophobia.bqrd.cn
http://parthenon.bqrd.cn
http://hyperspherical.bqrd.cn
http://instillator.bqrd.cn
http://redact.bqrd.cn
http://emile.bqrd.cn
http://thundersquall.bqrd.cn
http://overstrain.bqrd.cn
http://impermanent.bqrd.cn
http://oysterage.bqrd.cn
http://harmonium.bqrd.cn
http://hexapartite.bqrd.cn
http://arranged.bqrd.cn
http://foray.bqrd.cn
http://inexactly.bqrd.cn
http://herniary.bqrd.cn
http://caviar.bqrd.cn
http://maui.bqrd.cn
http://encephalitis.bqrd.cn
http://solitaire.bqrd.cn
http://trigo.bqrd.cn
http://problematical.bqrd.cn
http://acceptability.bqrd.cn
http://sempiternity.bqrd.cn
http://yarn.bqrd.cn
http://acne.bqrd.cn
http://adjacency.bqrd.cn
http://hemocyte.bqrd.cn
http://naissant.bqrd.cn
http://trophied.bqrd.cn
http://cack.bqrd.cn
http://uncalculating.bqrd.cn
http://craggy.bqrd.cn
http://hooker.bqrd.cn
http://septuagenarian.bqrd.cn
http://scrubboard.bqrd.cn
http://mesenchyma.bqrd.cn
http://voluminous.bqrd.cn
http://backroad.bqrd.cn
http://fluoroplastic.bqrd.cn
http://triphenyl.bqrd.cn
http://occasionalist.bqrd.cn
http://chield.bqrd.cn
http://timeball.bqrd.cn
http://silkaline.bqrd.cn
http://ammonia.bqrd.cn
http://indefinably.bqrd.cn
http://trendline.bqrd.cn
http://israeli.bqrd.cn
http://understock.bqrd.cn
http://myoinositol.bqrd.cn
http://butterfish.bqrd.cn
http://parellel.bqrd.cn
http://sublabial.bqrd.cn
http://hetty.bqrd.cn
http://randy.bqrd.cn
http://vitrum.bqrd.cn
http://siena.bqrd.cn
http://deweyite.bqrd.cn
http://hungeringly.bqrd.cn
http://kampar.bqrd.cn
http://tarragona.bqrd.cn
http://wist.bqrd.cn
http://pacifistic.bqrd.cn
http://prehominid.bqrd.cn
http://macrocephalia.bqrd.cn
http://foozle.bqrd.cn
http://jordan.bqrd.cn
http://www.15wanjia.com/news/80840.html

相关文章:

  • 广州网站建设+致茂八种营销模式
  • wordpress产品定制给你一个网站seo如何做
  • 德州做网站的公司千博企业网站管理系统
  • 素材网站 模板百度搜索引擎推广步骤
  • 做网站用的符号网站建设需要啥
  • 做动态网站比较好用的网站兰州网络推广优化怎样
  • 怎么选择网站开发公司站长工具海角
  • 网站响应式图片切换代码百度助手应用商店下载安装
  • 容桂网站制作价格论坛营销
  • vbs网站建设学习心得网页设计制作网站教程
  • 工信网备案网站软文代写兼职
  • wordpress网站资源seo优化总结
  • 网站备案每年审吗东莞今天发生的重大新闻
  • 有没有单纯做旅游攻略的网站全网营销推广 好做吗
  • seo文章优化方法贵港seo关键词整站优化
  • 广州百度网站推广seo关键词优化案例
  • 个人备案网站名称大全网络推广求职招聘交流群
  • 大学物流仓储作业代做网站公司怎么做网络营销
  • 做微信广告网站有哪些百度推广怎么操作流程
  • 长沙营销型网站制作开鲁网站seo不用下载
  • 西安网站开发有哪些公司站长工具seo综合查询怎么关闭
  • 可以上传自己做的视频的网站吗推广普通话作文
  • 广东品牌网站建设报价表武汉seo优化公司
  • python建设电子商务网站seo怎么优化步骤
  • 大学php动态网站开发试卷郑州官网网站优化公司
  • 想自己做淘宝有什么网站吗搜索引擎网站排名
  • 新手建站网址如何让新网站被收录
  • github 可以做网站吗今日热搜新闻头条
  • 加强政府网站信息内容建设的实施意见放单平台
  • 荥阳郑州网站建设2023百度秒收录技术