gpt4 book ai didi

php - 完成抽象类的常见做法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:53 25 4
gpt4 key购买 nike

您有一个类,非常适合作为抽象类,但如果没有派生类提供的数据,该类将无法正常工作。将所有数据传递给构造函数并不方便,因为可能不需要所有数据,而且其中许多数据可以是动态的(子函数的结果)。

组成这种结构的最佳做法是什么?或者它首先是一个糟糕的设计?

  1. 声明 child 必须实现的抽象函数?
  2. 声明在子类中被覆盖的普通函数?

最佳答案

如果函数有一个合理的默认行为,大多数 child 都可以依赖,那么它可以作为一个正常的行为来实现。否则(没有默认行为和/或大多数 child 必须覆盖它),最好将其声明为抽象的。副作用是您永远不会忘记在子类中定义它,因为如果不这样做会立即报告。

另一个机会是对特定于子类的数据使用容器(例如,数组),但仍然需要进行一般检查或可以在共同祖先中完成的其他处理。通过这种方式,您可以定义一个保存数据的变量,但数据本身会填充到子项中。父类中的代码可以迭代此容器并对所有元素执行一些例行工作。

关于php - 完成抽象类的常见做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2947870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com