草庐IT

Getter-Setter

全部标签

python - 使用getter和setter的pythonic方法是什么?

我这样做是这样的:defset_property(property,value):defget_property(property):或object.property=valuevalue=object.property我是Python的新手,所以我仍在探索语法,我希望得到一些关于这样做的建议。 最佳答案 试试这个:PythonProperty示例代码为:classC(object):def__init__(self):self._x=None@propertydefx(self):"""I'mthe'x'property."""p

python - 使用 @property 与 getter 和 setter

这个问题在这里已经有了答案:What'sthepythonicwaytousegettersandsetters?(8个回答)关闭24天前。@property表示法与经典的getter+setter相比有什么优势?程序员应该在哪些特定情况/情况下选择使用其中一种?带属性:classMyClass(object):@propertydefmy_attr(self):returnself._my_attr@my_attr.setterdefmy_attr(self,value):self._my_attr=value没有属性:classMyClass(object):defget_my_a

java - getter 和 setter 是糟糕的设计吗?看到矛盾的建议

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。我目前正在开发一个具有多种不同模式的Java简单游戏。我扩展了一个主游戏类,将主逻辑放在其他类中。尽管如此,主要的游戏类仍然相当庞大。在快速查看我的代码后,其中大部分是Getter和Setter(60%),而其余部分则是游戏逻辑真正需要的。一些Google搜索声称Getter和Setter是邪恶的,而其他人则声称它们对于良好的OO实践和出色的程序是必要的。那我该怎么办?应该是哪个?我应该为我的私有(private)变量更改我的Getter和Setter,还是应该坚持

java - 让 setter 返回 "this"是不好的做法吗?

让java中的setter返回“this”是个好主意还是坏主意?publicEmployeesetName(Stringname){this.name=name;returnthis;}这种模式很有用,因为你可以像这样链接setter:list.add(newEmployee().setName("JackSparrow").setId(1).setFoo("bacon!"));而不是这个:Employeee=newEmployee();e.setName("JackSparrow");...andsoon...list.add(e);...但这有点违反标准约定。我想这可能是值得的,因

java - 有没有办法在 Eclipse 中自动生成 getter 和 setter?

我正在开发一个新的Android项目(Java),并创建了一个包含大量变量的对象。由于我打算为所有这些添加getter和setter,我想知道:Eclipse中是否有一个快捷方式可以自动生成给定类中的getter和setter? 最佳答案 在所需类的源代码窗口中调出上下文菜单(即右键单击)。然后选择Source子菜单;从该菜单中选择GenerateGettersandSetters...将导致出现一个向导窗口。Source->生成Getter和Setter...选择您要为其创建getter和setter的变量,然后单击OK。

java - Java 8 getter 是否应该返回可选类型?

OptionalJava8中引入的type对很多开发者来说是个新鲜事物。是返回Optional的getter方法键入代替经典Foo一个好的做法?假设该值可以是null. 最佳答案 当然,人们会做他们想做的事。但我们在添加此功能时确实有一个明确的意图,它不是是通用的Maybe类型,就像很多人希望我们这样做一样。我们的目的是为库方法返回类型提供一种有限的机制,在这种情况下,需要一种明确的方式来表示“无结果”,而使用null则极有可能导致错误。例如,您可能永远不应该将它用于返回结果数组或结果列表的东西;而是返回一个空数组或列表。您几乎不应

ruby - 一次给setter赋多个值 : self. x = (y, z) 导致语法错误

我正在尝试使用两个参数-标题和作者来定义类方法。当我尝试传递参数时出现参数错误syntaxerror,unexpected',',expecting')'book.set_title_and_author=("Ender'sGame","OrsonScottCard")classBookdefset_title_and_author=(title,author)@title=title@author=authorenddefdescription"#{@title}waswrittenby#{@author}"endendbook=Book.newbook.set_title_and_

ruby - Ruby 中类变量的 Getter/Setter

是否可以为类变量自动生成/启用getter/setter,就像使用attr_accessor为实例变量生成的那样:classSchool@@syllabus=:cbsedefself.syllabus@@syllabusenddefself.syllabus=(_)@@syllabus=_endendSchool.syllabus=:icseSchool.syllabus#=>:icse 最佳答案 您需要做的就是在类的范围内声明attr_accessor:classSchoolclass:icse请注意,底层成员不会是@@sylla

ruby-on-rails - 如何覆盖模块中的 attr_accessor getter?

moduleHasUrlextendActiveSupport::Concernincludeddoattr_accessor:barenddefbar0endendclassFoobar属性不存储在数据库中,但在表单中使用(使用SimpleForm的f.input)。我想覆盖此方法的getter,以便我可以根据其他属性设置bar并让表单正确地预填充值。问题是在这样的包含block中使用attr_accessor会在Foo类上设置getter。因为该模块包含在祖先链中的Foo之上,所以永远不会触及返回0的自定义bar方法。解决这个问题的一种方法是classFoo但我想避免这个额外的步骤

ruby - 如何使用 Setter 使 Ruby 类表现得像散列

出于学术原因,我想让Ruby类的一个实例表现得像一个散列。目标用哈希值初始化MyClass实例#success从myClass的实例请求值,如哈希#success然后将属性设置为散列#失败尽管存在一些讨论,但我尝试了那里的内容(1、2)但没有成功。让我知道我做错了什么。谢谢!classMyClassattr_accessor:my_hashdefinitialize(hash={})@my_hash=hashenddef[](key)my_hash[key]enddefset_prop(key,value)myhash[key]=valueendendtest=myClass.new(