Tag: setter

在Java中设置和获取方法?

我怎样才能使用这个方法,并且为什么要使用它们? 他们真的有帮助吗? 你也可以给我一些例子,并获得方法?

艾伦霍勒布写道:“你不应该使用获取/设置function”,他是正确的?

艾伦霍勒布写了以下内容, 没有一些耦合,你不能有一个程序。 尽pipe如此,通过严格遵循OO(面向对象的)规则(最重要的是对象的实现应该完全从使用它的对象中隐藏),可以大大减less耦合。 例如,对象的实例variables(不是常量的成员字段)应始终保密。 期。 没有例外。 永远。 我是认真的。 (您可以偶尔使用受保护的方法,但受保护的实例variables是可憎的。) 这听起来合理,但他接着说, 你不应该使用get / set函数出于同样的原因 – 他们只是过于复杂的方式来公开一个字段(尽pipe访问函数返回成熟的对象而不是基本types的值是合理的,在返回的对象类是devise中的关键抽象)。 坦率地说,对我来说听起来很疯狂。 我理解隐藏信息的原理,但是如果没有访问器和修改器,就根本无法使用Java Bean。 我不知道如何在模型中没有访问器的情况下遵循MVCdevise,因为模型不能负责渲染视图。 但是,我是一个年轻的程序员,每天都会学习更多关于面向对象的devise。 也许有更多经验的人可以考虑这个问题。 艾伦霍勒布的文章供参考 为什么延伸是邪恶的 为什么Getter和Setter方法是邪恶的 相关问题: 爪哇:吸气剂和固化剂是邪恶的吗? 是不是真的没有使用setter和getters? 获得和设置functionstream行与C ++程序员? 你应该使用类中的访问器属性,还是仅仅从类之外?

访问器方法(getter和setter)在C ++中的约定

关于C ++的访问器方法的几个问题已经被问到,但是没有一个能够满足我对这个问题的好奇心。 我尽可能地避免使用访问器,因为像Stroustrup和其他着名程序员一样,我认为一个类中有许多是OO的坏迹象。 在C ++中,我可以在大多数情况下为类添加更多的责任,或者使用friend关键字来避免它们。 但在某些情况下,您确实需要访问特定的class级成员。 有几种可能性: 1.根本不使用访问器 我们可以公开各自的成员variables。 这在Java中是不可行的,但对于C ++社区来说似乎没有问题。 然而,我有点担心的情况是明确的复制或只读(const)引用的对象应该被返回,这是夸大? 2.使用Java风格的get / set方法 我不确定它是否来自Java,但我的意思是: int getAmount(); // Returns the amount void setAmount(int amount); // Sets the amount 3.使用客观的C风格get / set方法 这有点奇怪,但显然日益普遍: int amount(); // Returns the amount void amount(int amount); // Sets the amount 为了这个工作,你将不得不为你的成员variablesfind一个不同的名字。 有些人附加一个下划线,其他人则加上“m_”。 我也不喜欢。 你使用哪种风格,为什么?

获得者和制定者有什么意义?

可能重复: 为什么使用getters和setter? 我已经阅读了关于Java书籍,说为像x和y这样的variables创buildsetter和getter是很好的。 例如: public int getX(){ return x; } public void setX(int x){ this.x = x; } 但是这和那个有什么不同 …(shape.x)… // basically getX() 和 shape.x = 90; // basically setX() 如果制定者和获得者更好,你能否向我解释会出现什么样的实际问题?

什么是ECMAScript 6类中的getter和setter?

我很困惑,在ECMAScript 6类中,getter和setter是什么意思。 什么目的? 下面是我所指的一个例子: class Employee { constructor(name) { this._name = name; } doWork() { return `${this._name} is working`; } get name() { return this._name.toUpperCase(); } set name(newName){ if(newName){ this._name = newName; } } }

简单的Getter / Setter注释

你用什么约定来评论吸气剂和吸附剂? 这是我想了很长一段时间,例如: /** * (1a) what do you put here? * @param salary (1b) what do you put here? */ public void setSalary(float salary); /* * (2a) what do you put here? * @return (2b) */ public float getSalary(); 我总是发现我写了1a / b和2a / b完全相同的东西,例如1a)设置员工的工资,1b)员工的工资。 这似乎是多余的。 现在我可以看到更复杂的东西,你可以在(a)部分写更多的东西来给出上下文,但是对于大部分的获取者/引导者来说,这些措辞几乎是完全相同的。 我只是好奇,对于简单的getter / setters来说,它只能填写(a)部分或(b)部分。 你怎么看?

如何在Visual Studio中生成getter和setter?

通过“生成”,我的意思是自动生成特定选定(一组)variables所必需的代码。 但是,对于良好做法的任何更明确的解释或评论是值得欢迎的。

监控所有的JavaScript对象属性(魔术获得者和设置者)

如何在JavaScript中模拟PHP风格的__get()和__set()魔术getter / setters? 很多人都说这是不可能的。 我几乎可以肯定,这是可能的,因为像nowjs( http://nowjs.com )这样的项目做这样的事情。 我知道你可以利用get和set ,但是当你不确定属性的名字是什么时,这些不起作用。 例如, 如果您想要在创build新属性时执行事件处理程序,该怎么办? 我想要做的例子: var obj = {}; notify(obj, function(key, value) { //key is now the name of the property being set. //value is the value of the property about to be set console.log("setting " + key + " to " + value); }); obj.foo = 2; […]

UWP装订风格安装程序无法正常工作

我有创buildxaml控制的问题。 我正在通用应用程序中编写VS 2015中的新项目。 我想创build网格。 在这个网格中,我想要一个button。 在模型中,我指定了列(Level)和行。 这是我的代码: <ItemsControl Grid.Row="1" ItemsSource="{Binding Path=TechnologyList}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Grid> <Grid.RowDefinitions> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> <RowDefinition Height="10*"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> <ColumnDefinition Width="14*"/> </Grid.ColumnDefinitions> </Grid> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> […]

公共数据成员vs Getters,Setters

我目前在Qt和C ++中工作。 我有类私有数据成员和公共成员函数。 我有公开的getters和setter为class级中可用的数据成员。 现在我的问题是,如果我们的类中有数据成员的getter和setter,那么将这些数据成员设置为private是什么意思? 我同意在基类中的私人数据成员听起来合乎逻辑。 但除此之外,拥有私人成员,他们的获得者和制定者对我来说似乎不是合乎逻辑的。 或者, 我们可以把所有的variables都公开化,所以根本不需要getter和setter? 有这些好习惯吗? 我知道有私人成员确保数据抽象,但有getter和setter实际上可以很容易地访问这些variables。 任何关于这个指针是受欢迎的。