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

烟台环保网站建设太突然我国突然宣布

烟台环保网站建设,太突然我国突然宣布,网站制作招聘,济南泰安网站建设公司目录 一、Python访问者模式介绍 二、访问者模式使用 一、Python访问者模式介绍 访问者模式#xff08;Visitor Pattern#xff09;是一种行为型设计模式#xff0c;它能够将算法与对象结构分离#xff0c;使得算法可以独立于对象结构而变化。这个模式的主要思想是#…目录 一、Python访问者模式介绍 二、访问者模式使用 一、Python访问者模式介绍 访问者模式Visitor Pattern是一种行为型设计模式它能够将算法与对象结构分离使得算法可以独立于对象结构而变化。这个模式的主要思想是将对象结构和算法分离开来使得算法可以独立于对象结构而变化。该模式的核心概念是定义一个访问者对象它是对某个对象结构中各个元素的操作这种操作可以改变元素的类或状态。 访问者模式的主要功能是提供一个统一的访问接口使得访问者能够遍历整个对象结构对各个元素进行操作。 优点 1、访问者模式可以将数据结构与算法分离增强了代码的可扩展性和可维护性。 2、访问者模式可以更加灵活地适应不同的对象结构易于扩展。 3、访问者模式可以实现双重分派提高了代码的灵活性和可复用性。 缺点 1、访问者模式增加了代码的复杂度需要定义访问者类和被访问类。 2、访问者模式扩展起来比较困难新增元素需要修改访问者接口并且所有访问者实现类都需要进行修改。 应用场景 1、需要对复杂的对象结构进行遍历并对其中的元素进行不同的操作。 2、需要对对象结构中的不同元素进行不同的操作例如对不同类型的节点进行不同的访问。 访问者模式的使用方式一般包括两个主要步骤 1、定义访问者接口包含对不同类型元素的不同访问方法。 2、定义被访问者接口包含接受访问者访问的方法这个方法会调用访问者对当前对象进行访问。 在应用程序开发中访问者模式可以用于图形编辑器、编译器、XML解析器等需要对复杂的对象结构进行遍历和操作的场景。其工作原理是访问者模式通过定义访问者接口和被访问者接口将遍历和操作分离开来从而提高代码的可维护性和可扩展性。当访问者需要访问被访问者的某个元素时它会调用该元素的accept方法并将自己作为参数传递给该方法从而实现对元素的访问。 二、访问者模式使用 假设有一个程序需要对不同类型的员工进行计算工资员工的类型包括全职员工和兼职员工全职员工有基本工资和奖金兼职员工只有小时工资。这个程序使用访问者模式来实现可以分为以下几个步骤 1、定义访问者接口SalaryVisitor包含对不同类型员工进行访问的方法visit_fulltime和visit_parttime 2、定义被访问者接口Employee包含接受访问者访问的方法accept该方法会根据当前员工的类型调用访问者的对应方法 3、定义具体的访问者类TaxSalaryVisitor和BonusSalaryVisitor分别实现对全职员工和兼职员工的计算方法 4、在程序中使用访问者模式进行计算首先创建不同类型的员工对象然后创建访问者对象最后调用员工对象的accept方法传入访问者对象进行访问 # 访问者模式# 定义访问者接口 class SalaryVisitor():def visit_fullltime(self): # 全职员工passdef visit_parttime(self): # 兼职员工pass# 定义被访问者接口 class Employee():def accept(self, visitor): # 接受访问passclass FulltimeEmployee(Employee):def __init__(self, base_salary, bonus): # 全职员工基本工资、奖金self.base_salary base_salaryself.bonus bonusdef accept(self, visitor):return visitor.visit_fullltime(self)class ParttimeEmployee(Employee):def __init__(self, hourly_wage, total_hours): # 兼职员工时薪小时self.hourly_wage hourly_wageself.total_hours total_hoursdef accept(self, visitor):return visitor.visit_parttime(self)# 定义具体的访问者类 class TaxSalaryVisitor(SalaryVisitor):def visit_fullltime(self, fulltime_employee):tax (fulltime_employee.base_salary fulltime_employee.bonus) * 0.1return taxdef visit_parttime(self, parttime_employee):tax parttime_employee.hourly_wage * parttime_employee.total_hours * 0.1return taxclass BonusSalaryVisitor(SalaryVisitor):def visit_fullltime(self, fulltime_employee):bonus fulltime_employee.bonusreturn bonusdef visit_parttime(self, parttime_employee):return 0# 创建实例 fulltime_employee FulltimeEmployee(10000, 5000) parttime_employee ParttimeEmployee(50, 160)tax_visitor TaxSalaryVisitor() bonus_visitor BonusSalaryVisitor()full_tax fulltime_employee.accept(tax_visitor) full_bonus fulltime_employee.accept(bonus_visitor)part_tax parttime_employee.accept(tax_visitor) part_bonus parttime_employee.accept(bonus_visitor)print(f全职员工税{full_tax}, 奖金{full_bonus}) print(f兼职员工税{part_tax}, 奖金{part_bonus}) 运行结果 全职员工税1500.0,  奖金5000 兼职员工税800.0,  奖金0 这个程序的工作原理是定义了访问者接口和被访问者接口将遍历和操作分离开来从而实现了对不同类型员工的计算。当访问者需要访问被访问者的某个元素时它会调用该元素的accept方法并将自己作为参数传递给该方法从而实现对元素的访问。 使用访问者模式的方法是首先定义访问者接口和被访问者接口然后在被访问者接口中定义accept方法根据被访问者的类型调用访问者的对应方法。在定义具体的访问者类时需要实现对不同类型被访问者的具体操作。最后在程序中创建不同类型的被访问者对象和访问者对象通过调用accept方法进行访问和操作。
http://www.hkea.cn/news/14441362/

相关文章:

  • 石家庄红酒公司 网站建设wordpress varnish
  • 公司专业网站建设品牌代运营公司
  • 沈阳模板建站定制电子商务有什么岗位
  • 网站建设与管理介绍外贸推广平台排名
  • 新闻类网站排版网站建设网站内链检测工具
  • 在哪个网站做流动补胎的广告好wordpress ping
  • 泉州公司网站建设建站平台做的网站google
  • 中小企业做网站推广禹城网站设计
  • 网站建设销售技巧话术关键词搜索神器
  • 为什么做电商网站qq技术教程wordpress
  • 公司请人做公司网站会计分录鄂州市城市建设档案馆网站
  • 网站运营风险分析wordpress 个人主题
  • 网站建设+管理系统开发中山专业门户网站制作平台
  • 江门官网建站公司郑州资助app下载
  • 电商网站建设开发维护怎么卸载安装的wordpress
  • 大庆建设局网站迁址山西谷歌seo
  • 焦作整站优化电商首页设计图
  • 随州建设网站网页翻译app
  • 新办公司网上核名在哪个网站做东莞保安招聘网
  • 深圳网站建 1设骏域网站建设中国建筑装饰公司排名
  • 钓鱼网站排名假冒建设银行最多备案资料 网站建设方案书
  • 大型网站的服务器架设与小型网站有什么不同机械行业营销型网站
  • 英文网站cms房地产公司网站建设ppt
  • 尤溪网站开发网页游戏代码
  • 成都 网站原创大邯郸网站
  • 固定ip做网站沈阳网站icp备案
  • 云南澄江县建设局网站建设工程质量管理条例2022
  • 响应式网站和展示式区别怎么在外贸公司拿订单
  • 网页设计网站总结报告怎么写高端网站建设报价
  • 做黑帽需不需要搭建网站揭阳网站制作怎样