gpt4 book ai didi

c# - 为获取/设置私有(private)值创建单独的公共(public)函数有什么意义?

转载 作者:行者123 更新时间:2023-12-04 22:02:48 26 4
gpt4 key购买 nike

让我先说一下我知道这可能是一个新手问题,我尝试搜索它,但找不到合适的答案(可能问错了)。

所以通常当我想使用它的类之外的另一个值时,我只是将它公开并像访问它一样访问它。

然而,我经常看到其他代码在他们的类中使用私有(private)值,然后创建单独的函数来获取和设置值,如下所示:

private bool fooBar;

public void SetFooBar(bool boolean)
{
fooBar = boolean;
}

public bool GetFooBar()
{
return fooBar;
}

请原谅我的无知,但这究竟是什么意思?他们都做同样的事情(至少我的新手逻辑)。我知道私有(private)变量很有用,因为它可以确保您不会通过在代码中的其他地方修改它们来破坏程序的功能,但是无论如何您都在代码中的其他地方修改它们,那么有什么用呢?为什么我看到人们这样做?

最佳答案

  • 因为直接修改对象的状态在 OOP 中是不允许的
  • 因为您不能将字段放入接口(interface)中(一旦您走得够远,您通常最终会通过接口(interface)访问大多数其他对象)
  • 因为当另一个对象想要与字段
  • 交互时,它允许额外的逻辑(如引发事件)
  • 因为某些东西(如 WPF 绑定(bind))仅适用于属性,而不适用于字段
  • 因为您可能希望稍后更改值的检索/存储方式(不仅仅是在内存中)

  • (请注意,在 C# 中,您通常将其作为属性而不是方法,例如 public bool Foo {get; set;} )

    关于c# - 为获取/设置私有(private)值创建单独的公共(public)函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365029/

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