Oop 事件或抽象方法、最佳实践

Oop 事件或抽象方法、最佳实践,oop,coding-style,class-design,Oop,Coding Style,Class Design,子类需要知道它的超类何时发生特定事件,但是超类有多种方法来发布消息。这里有两个: 发送事件 调用子类最终可以重写的抽象方法 我想知道最佳实践是否会推荐其中一种方法而不是另一种 另外,当我想到这个问题时,我正在使用ActionScript。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它 当然,您提出了一个错误的二分法:当您分派一个事件时,它最终会调用类的某个方法,该方法可能会被重写。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它 当然,您提出了一个错误的

子类需要知道它的超类何时发生特定事件,但是超类有多种方法来发布消息。这里有两个:

  • 发送事件
  • 调用子类最终可以重写的抽象方法
我想知道最佳实践是否会推荐其中一种方法而不是另一种


另外,当我想到这个问题时,我正在使用ActionScript。

OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它


当然,您提出了一个错误的二分法:当您分派一个事件时,它最终会调用类的某个方法,该方法可能会被重写。

OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它


当然,您提出了一个错误的二分法:当您调度一个事件时,它最终会调用类的某个方法,该方法可能会被覆盖。

这取决于您试图解决的问题的性质。子类完成的处理是否需要异步?如果是的话,这是一个支持基于事件的设计的论点。不属于你的类的东西会想知道吗?这是支持基于事件的设计的另一个论点。除此之外,提供一个抽象方法作为逻辑的钩子可能是最容易的,因为这是很多程序员(以我的经验来看,大多数程序员)所期望的。

这取决于您试图解决的问题的性质。子类完成的处理是否需要异步?如果是的话,这是一个支持基于事件的设计的论点。不属于你的类的东西会想知道吗?这是支持基于事件的设计的另一个论点。除此之外,提供一个抽象方法作为逻辑的挂钩可能是最容易的,因为这是很多程序员(以我的经验来看,大多数程序员)所期望的。

抽象方法是最好的。事件会带来不必要的复杂性。

抽象方法是最好的。对于这个事件,您引入了不必要的复杂性。

这里没有“最佳”方法,两者都有不同的语义,我将在这里概述

覆盖方法:

  • 比代表更快
  • 强制重写子类(抽象方法)
  • 只调用子类方法,而不调用父类
  • ->如果要更改类的行为,请使用方法重写
事件:

  • 注册多个事件处理程序,而不是一个
  • 简单的异步操作
  • ->要补充/扩展类的行为时,请使用事件
    • 这里没有“最佳”方法,两者都有不同的语义,我将在这里概述

      覆盖方法:

      • 比代表更快
      • 强制重写子类(抽象方法)
      • 只调用子类方法,而不调用父类
      • ->如果要更改类的行为,请使用方法重写
      事件:

      • 注册多个事件处理程序,而不是一个
      • 简单的异步操作
      • ->要补充/扩展类的行为时,请使用事件

      在创建“事件”和“方法”之间的二分法时,您似乎正在使用特定的语言或开发环境。请说出它是什么,这样人们可以给你更好的答案。看起来你在使用一种特定的语言或开发环境,因为你在“事件”和“方法”之间创建了一个二分法。请说出它是什么,这样人们可以给你更好的答案。优秀的分数!在我的问题的上下文中,两个问题的答案都是否定的。我想我将使用钩子方法。非常好的分数!在我的问题中,两个问题的答案都是否定的。我想我将使用钩子方法。