gpt4 book ai didi

c# - 封装 VS 继承——如何使用 protected 函数?

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

在 C# 或 VB.NET 等 OOP 语言中,如果我在父类(super class)中设置属性或方法 protected 我无法在我的表单中访问它们 - 它们只能在我的类中访问继承自该父类(super class)。

要访问这些属性或方法,我需要将它们设为public,这会破坏封装,或者将它们重写到我的类中,这会破坏继承。

正确的做法是什么?

最佳答案

如果您的代码需要请求某个类执行特定操作,但该类未向您的代码提供执行该操作的方法,则该类不满足您的代码要求。

这有点像说我有一辆带有 protected 方向盘的汽车(汽车),所以我无法使用它。这辆车对我没用。

要么将这些成员公开(或至少在内部)并使用它们,要么放弃该类并使用一个为您的消费代码提供所需功能的成员。

也许您真正需要的是一个界面。该接口(interface)包含您的代码需要的成员,您可以在您的类中实现该接口(interface)。此处的优点是您的类可以确定成员是通过此接口(interface)而不是继承子类访问的。

关于c# - 封装 VS 继承——如何使用 protected 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289841/

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