gpt4 book ai didi

c# - 这项工作的最佳抽象类型?

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:17 24 4
gpt4 key购买 nike

我有一个名为 Person 的类,该类具有指定是否附加了 Grid 对象的属性。有 3 种类型的网格对象。其中 2 个将具有完全相同的属性,第 3 个将具有完全不同的属性。

要使 Person 类中的 Grid 属性可以接受所有 3 种类型,最好使用什么抽象类型?我的意思是我应该使用抽象类、基类还是接口(interface)?还是我应该研究泛型?

我的想法是使用一个抽象类,这样我就可以实现属性并且在共享相同属性的 2 个类中没有冗余代码。它还将强制任何添加新网格类型的人创建一个从它派生的新类。我需要这最后一部分,因为我需要检查它是哪种类型的 Grid 对象,使用反射,所以我可以添加一些条件逻辑。

第三种网格类型会有这些不必要的属性,这让人感觉很奇怪。

最佳答案

如果第三种网格类型具有完全不同的属性,那么 Person 如何以相同的方式接受它们?您只能“抽象”共性。您将 2 个不同的东西传递给 Person - 所以我不会仅仅因为它们都是网格就试图抽象它们。

关于c# - 这项工作的最佳抽象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6914003/

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