Oop 事件或抽象方法、最佳实践
子类需要知道它的超类何时发生特定事件,但是超类有多种方法来发布消息。这里有两个:Oop 事件或抽象方法、最佳实践,oop,coding-style,class-design,Oop,Coding Style,Class Design,子类需要知道它的超类何时发生特定事件,但是超类有多种方法来发布消息。这里有两个: 发送事件 调用子类最终可以重写的抽象方法 我想知道最佳实践是否会推荐其中一种方法而不是另一种 另外,当我想到这个问题时,我正在使用ActionScript。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它 当然,您提出了一个错误的二分法:当您分派一个事件时,它最终会调用类的某个方法,该方法可能会被重写。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它 当然,您提出了一个错误的
- 发送事件
- 调用子类最终可以重写的抽象方法
另外,当我想到这个问题时,我正在使用ActionScript。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它
当然,您提出了一个错误的二分法:当您分派一个事件时,它最终会调用类的某个方法,该方法可能会被重写。OOP是关于对象向对象发送消息的。最好的方法是定义一个方法并重写它
当然,您提出了一个错误的二分法:当您调度一个事件时,它最终会调用类的某个方法,该方法可能会被覆盖。这取决于您试图解决的问题的性质。子类完成的处理是否需要异步?如果是的话,这是一个支持基于事件的设计的论点。不属于你的类的东西会想知道吗?这是支持基于事件的设计的另一个论点。除此之外,提供一个抽象方法作为逻辑的钩子可能是最容易的,因为这是很多程序员(以我的经验来看,大多数程序员)所期望的。这取决于您试图解决的问题的性质。子类完成的处理是否需要异步?如果是的话,这是一个支持基于事件的设计的论点。不属于你的类的东西会想知道吗?这是支持基于事件的设计的另一个论点。除此之外,提供一个抽象方法作为逻辑的挂钩可能是最容易的,因为这是很多程序员(以我的经验来看,大多数程序员)所期望的。抽象方法是最好的。事件会带来不必要的复杂性。抽象方法是最好的。对于这个事件,您引入了不必要的复杂性。这里没有“最佳”方法,两者都有不同的语义,我将在这里概述 覆盖方法:
- 比代表更快
- 强制重写子类(抽象方法)
- 只调用子类方法,而不调用父类
- ->如果要更改类的行为,请使用方法重写
- 注册多个事件处理程序,而不是一个
- 简单的异步操作
- ->要补充/扩展类的行为时,请使用事件
- 比代表更快
- 强制重写子类(抽象方法)
- 只调用子类方法,而不调用父类
- ->如果要更改类的行为,请使用方法重写
- 注册多个事件处理程序,而不是一个
- 简单的异步操作
- ->要补充/扩展类的行为时,请使用事件
- 这里没有“最佳”方法,两者都有不同的语义,我将在这里概述
覆盖方法: