gpt4 book ai didi

c# - 在派生的 C# 类中隐藏属性

转载 作者:行者123 更新时间:2023-11-30 13:24:57 25 4
gpt4 key购买 nike

我有四个类,它们共享四个属性的某种排列。我目前已将基类设置为 abstract,每个属性都标记为 virtual。然后在四个派生类中的每一个中,我都会覆盖它使用的属性并忽略其他属性。

问题是我仍然可以访问每个派生类中的所有属性,无论我是否从我的基类中的 abstract virtual 属性覆盖了它。

我觉得我是从错误的角度来处理这个问题的。是否有显式隐藏或阻止属性的方法,或者是否有更好的方法。

最佳答案

我认为您应该重新考虑您的继承层次结构。考虑以下启发式:

如果两个或多个类只共享公共(public)数据(没有公共(public)行为),那么公共(public)数据应该放在一个类中,每个共享类都将包含该类。

如果两个或多个类具有共同的数据和行为(即方法),那么这些类都应该继承自一个共同的基类,该基类捕获这些数据和方法。

如果两个或多个类只共享一个公共(public)接口(interface)(即消息,而不是方法),那么只有在它们将被多态使用时,它们才应该从一个公共(public)基类继承。

关于c# - 在派生的 C# 类中隐藏属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417529/

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