getter/setter VS 公共变量的好处?

2023-12-28

使用有什么好处:

private var _someProp:String;

public function set someProp(value:String):void
{
    _someProp = value;
}
public function get someProp():String
{
    return _someProp;
}

与仅使用相反:

public var someProp:String;

我意识到,当您需要进一步处理或需要在属性更改时收到通知时,使用 getter/setter 会很有用,如下所示:

public function set someProp(value:String):void
{
    _someProp = value;
    _somePropChanged = true;
    doSomethingElse();
}

但如果你不需要这个,那么有什么理由使用 getter/setter 而不是只使用公共 var 呢?

Thanks!!


根据您的语言,您应该更喜欢预先使用 getter/setter,因为如果您确实需要它们,则无法稍后引入它们(我正在看着您,Java)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

getter/setter VS 公共变量的好处? 的相关文章

  • JSTL 表达式语言访问对象属性

    我今天正在学习一个教程 这个教程让我摸不着头脑一个小时 考虑 public class MyClass public int getTotal amount 100 return amount 以及 JSP 的摘录 p Total obje
  • “无法识别的选择器发送到实例”UINavigationController

    我的 Xcode 应用程序收到以下异常错误消息 UINavigationController setDeals unrecognized selector sent to instance 0x8338d40 在以下上下文中抛出异常prep
  • 关于Java“属性”和C#“属性”之间的区别

    作为实习的一部分 我使用 C 工作了整整六个月 我在实习中学到的东西是 C 属性 又称为 setter 和 getter 的美妙之处 刚开始实习的时候 属性也是我比较困惑的一个地方 但是用了一段时间 我就爱上了它 回到Java上课 我不得不
  • getter 是否应该返回对象实例的副本以避免副作用?

    我想获取从类的函数返回的值 在我的班级里 public class MyClass private Color color new Color 0f 0f 0f 1f public Color getColor return this co
  • Kotlin 显式与隐式 get() 和 set()

    我们使用或明确使用的原因是什么get and set 在科特林 我有一个模型 当我删除显式时 该模型会抛出错误get 在其变量声明中 data class SampleDomain val publishTime String Removi
  • 如何在 Swift 中重写 setter

    超类 class MySuperView UIView var aProperty 子类继承超类 class Subclass MySuperClass I want to override the aProperty s setter g
  • 通用 getter 和 setter 方法[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试编写一个抽象类 这个类将是一个 Field 会有不同类型的字段 需要扩展字段类并编写自己的 setter 类 例如 将会有一个字符
  • Symfony 调用从变量中通过名称获取

    我想用数据库中存储的字段名调用 getter 例如 有一些字段名称存储如 id email name array Array id email name 通常 我会调用 gt getId 或 gt getEmail 在这种情况下 我就没有机
  • setter 和 getter 的模板

    我不熟悉模板 但我想知道是否可以将它们用于 setter 和 getter 方法 例如在这种情况下 double exmlClass getA void const return a void exmlClass setA const do
  • Python 重写 getter 而不使用 setter

    class human object def init self name self name name property def name self return self name name setter def name self v
  • SonarQube 在代码分析中忽略 getter/setter

    SonarQube 仪表板中是否有允许忽略 getter 和 setter 的设置 这听起来是一个比在代码库中的每个方法上编码 nopmd 更好的选择 我的代码库有很多这样的东西 它们极大地降低了 Sonarqube 仪表板中报告的单元测试
  • Java - 是否应该通过 getter 和 setter 方法在构造函数中访问私有实例变量?

    我知道私有实例变量是通过其公共 getter 和 setter 方法访问的 但是 当我借助 IDE 生成构造函数时 它会直接初始化实例变量 而不是通过其 setter 方法来初始化它们 Q1 因此 我是否应该更改 IDE 为构造函数生成的代
  • VB6中Property Set和Property Let有什么区别?

    我刚刚创建了几个Property Set方法 但它们没有编译 当我将它们更改为Property Let 一切都很好 此后我研究了文档以找出两者之间的区别Property Set and Property Let 但必须承认自己并不明智 有什
  • C++ 中访问器方法(getter 和 setter)的约定

    关于 C 中的访问器方法的几个问题已经在 SO 上被问到了 但没有一个能够满足我对此问题的好奇心 我尽可能避免访问器 因为像 Stroustrup 和其他著名程序员一样 我认为一个类中有很多访问器是糟糕的 OO 的标志 在 C 中 在大多数
  • 惰性 getter 在类中不起作用

    class a get b delete this b return this b 1 var c get b delete this b return this b 1 console log c b works as expected
  • 当FormArray嵌套在另一个FormArray中时如何获取FormArrayName?

    参考 https angular io docs ts latest api forms index FormArrayName directive html https angular io docs ts latest api form
  • 通过反射调用 getter 的最佳方式

    我需要获取具有特定注释的字段的值 因此通过反射我能够获取此字段对象 问题是这个字段将始终是私有的 尽管我事先知道它总是有一个 getter 方法 我知道我可以使用 setAccesible true 并获取它的值 当没有 Permissio
  • 如何从 JavaScript 对象中删除 setter?

    考虑以下代码 var x 0 var o function getter return x Object defineProperty o y get getter set function y x y Object definePrope
  • C# WPF 如何动态设置属性设置方法?

    我一直在四处寻找 但似乎找不到我要找的东西 所以我会在这里尝试一下 情况 我有 MainWindow 和 MainWindowData 类 MainWindowData 中只有使用 UpdateGUI 属性定义的公共属性 public cl
  • 使对象在运行时不可变 [C#]

    有什么方法 我希望利用反射 可以使实例化对象不可变及其所有公共财产 我有一个来自其他人的代码库 没有可用源 的类 我需要使用它 并且我基本上希望在实例化该类后 如果任何地方的任何代码段尝试调用该类中的公共设置器 则抛出异常 注意 我不想在类

随机推荐