在 .NET 库和许多第三方库中,我可以看到如何更改内部(私有)成员值有一些约定,它们支持属性(.NET 属性)或方法(这些在 java 中常用作为 Setter 和 Getter)或两者都适用于程序员。
我想知道何时(以及为什么)使用属性、方法或两者兼而有之。例如,可以使用Visible属性(在 Windows 窗体中)或调用方法Show()或Hide()来更改控件的可见性. 有一些值(我知道有一些内部/私有值)只能通过调用方法(如 setter)来更改。在设计自己的控件、类时,我有点犹豫是选择属性还是方法(或者两者都支持?),事实上,选择其中一个也可以(Java 是一个仅使用方法的示例)。我知道属性相对于方法(作为 getter 和 setter)的优势,但如果是这样,为什么我们必须在某些情况下使用方法,它们会呈现给程序员甚至替换属性。我对此有点困惑,对我来说(正如我所说),仅使用方法时我感觉还可以(就像我在 java 中所做的那样,这还不错:)。
我想知道您的经验以及您对此的约定。我喜欢遵循编程中的标准约定(针对每种编程环境和每种语言)来区分它们。不像一些发明自己的风格的人,这些风格对其他程序员来说有点难以辨认,例如在 C# 中使用 C++ 命名约定(甚至是 PHP 命名约定?)?对我来说有点奇怪,对不起。
请分享,谢谢...