gpt4 book ai didi

oop - 面向对象设计 : Copying data from class A to B

转载 作者:行者123 更新时间:2023-11-28 21:14:43 25 4
gpt4 key购买 nike

牢记 SOLID 原则和可测试性,考虑以下情况:

你有 A 类和 B 类,它们有一些重叠的属性。您需要一个方法来将公共(public)属性从 A 类复制和/或转换到 B 类。该方法去哪里了?

  1. A 类作为 B 类 GetAsB() ?
  2. B 类作为构造函数 B(A 输入)?
  3. B 类作为方法 void FillWithDataFrom(A input)?
  4. C 类作为静态方法 B ConvertAtoB(A source)?
  5. ???

最佳答案

视情况而定,在不同情况下都有意义;来自 Java 的一些示例:

  1. String java.lang.StringBuilder.toString()
  2. java.lang.StringBuilder(String source)
  3. void java.util.GregorianCalender.setTime(Date time)
  4. ArrayList<T> java.util.Collections.list(Enumeration<T> e)

帮助您做出决定的一些问题:

  • 哪种依赖关系更有意义? A 依赖 B,B 依赖 A,两者都不依赖?
  • 您总是从 A 创建新的 B,还是需要使用 A 填充现有的 B?
  • 是否有其他类进行类似的协作,作为 Bs 的数据提供者或 As 数据的目标?

关于oop - 面向对象设计 : Copying data from class A to B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803920/

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