问题标签 [accessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
1629 浏览

c++ - 提供非常量引用 getter 是否有意义

有时我需要暴露一些班级成员。例如在下面的例子中class Mechanic可能需要直接访问Engine组件。我读过很多次,由于几个原因,所有字段都应该由 mutator(访问器)方法访问。但是在提供非常量引用 getter 时是否有任何优势:

简单地将引擎组件公开:

如果您不喜欢此示例,也可以替换public为。protected在现实生活中,当涉及到System.inSystem.out. 看起来,要完全遵守某些人的说法,您需要执行类似System.getInstance().getOut().println("hello world"). 在这种情况下,除了大量的官僚代码之外,我没有看到任何好处。

0 投票
1 回答
101 浏览

jsf-2 - 从 JSF 文件中的另一个对象获取访问器

在我的 JSF 2.0 项目中,我有 2 个类:

...

和 jsf 文件:

我知道上面的例子不起作用。但是有什么方法可以从 jsf 文件中访问驱动对象的 getName 方法呢?还是我必须在 CarBean 类中创建一个新方法“getDriverName”?

你能帮助医疗人员吗?BR

0 投票
2 回答
181 浏览

c# - 在相似类之间进行比较/复制的简洁方法

我们有两个类具有完全相同的公共访问器(其中许多),但来自对象层次结构中的不同区域;我们需要在这两个对象之间进行复制和比较。我们可以手动编写一个复制构造函数和一个比较运算符来比较同名访问器的值,但似乎必须有更好的方法来使用反射和 LINQ 来做到这一点。

示例:我们有 ClassA 类,它有 70 个访问器;我们还有 ClassB 类,它有 70 个访问器,它们被定义为与 ClassA 的访问器相同的名称和类型。

我想要的是一种使用反射来发现 ClassA 的所有公共访问器的简单方法,并使用这些名称将 ClassB 上的相应访问器的值设置为 ClassA 上的访问器的值。粗略地说,在伪代码中:

当然,同样的东西也可以用来测试两个类之间的相等性。我对 C# 反射和 LINQ 的了解还不足以知道如何完成这项工作,但我发誓这是相对简单的事情。

0 投票
1 回答
232 浏览

objective-c - 如何从我的延迟加载获取访问器中保留我的自定义 UIView 并将其分配给其他视图?

我想在不同的 UIViewControllers 中重用相同的 UIView 对象作为表头。

我有一个 ArticleViewController 类;

然后我实现headerViewget 访问器来延迟加载对象;

在另一个视图控制器中,我想重用相同的 headerView 对象,因此我已经声明了我的接口;

在将其推送到我的 UINavController之前,我会[citationViewController setHeaderView:headerView];分配我的headerView内部 。ArticleViewControllercitationViewController

一切正常,当新视图加载时,我得到相同的标题。问题是当我弹出CitationViewControllerUINavController 并返回到旧视图时,我headerViewArticleViewController.

我试过只传递一个指向指针的指针,但我在获取**UIViewand&headerView编译时遇到了麻烦。我以为我可以只在内存中拥有一个对象,并且两个视图都有自己的指向它的指针。我没走多远,就去找别的路了。

我在 UITableView 的标题中使用视图,我认为这可能是这个问题;UITableView 部分页眉和部分页脚没有更新(重绘问题),但重新加载数据并没有解决它。

然后我意识到我没有增加保留计数,headerView所以当我将它传递给CitationViewController并且减少保留计数时,我将释放对象。因此,我[headerView retain]在调用 setter 之前添加了一个调用,但这似乎并没有在我重新加载旧视图时显示标题。

我是否需要在我的 get 访问器中有某种​​保留模式?自定义 getter 示例始终具有原始类型或简单对象,问题是因为其中有另一个 UIView 对象headerView作为子视图吗?

我还考虑过将其更改@property (retain)为拥有assigncopy陷入困境,因为我没有实施copyWithZone协议并且不知道如何实施。

我一直在阅读所有这些不同的方面并孤立地理解它们,但似乎无法将它们统一为一个连贯的整体。我在这一切中误解了什么?

0 投票
3 回答
9786 浏览

iphone - 在 Objective-C 中只写属性

我被objective-c属性困住了。我需要的是为变量分配一个只写属性,与只读相反,即变量可以有setMethod,但不应该有getMethod。我不知道该怎么做。感谢您提供一些代码片段的答案。

0 投票
2 回答
3284 浏览

c# - 序列化只读成员数据

这不是这个问题的重复。我必须序列化“只读”的属性。我不能对这个类做任何事情,因为这是System.Web.Security.MembershipUser类,当然这不是密封类。

上面的代码是我使用的,

GetAllUsers方法返回MembershipUserCollection,但这没有默认访问器。所以在序列化时我得到了异常。这就是我去的原因List<MembershipUser>。我在这里也遇到了麻烦。这是在吃我的一天,有什么办法可以解决这个问题?

编辑: 我正在使用 XmlSerializer。

0 投票
0 回答
764 浏览

java - Java 空指针安全访问器

可能的重复:
Java“?” 用于检查 null 的运算符 - 它是什么?(不是三元!)

我刚读了这篇文章,它声称:

以最新版本的 Java 为例,它试图通过为无休止的指针测试提供速记语法来简化空指针检查。只需在每个方法调用中添加一个问号,就会自动包含对空指针的测试,替换老鼠的 if-then 语句,例如:

有了这个:

除了这些代码片段实际上做不同的事情1之外,是这种情况,还是完全捏造?我在其他地方找不到该运营商的任何提及...

1除非有问题的人经常迷路,否则只能通过将他们的名字作为邮政编码来补救

0 投票
1 回答
684 浏览

ruby - 这个 ruby​​ 自定义访问器如何工作

因此,class_eval 中的以下方法会为运行时定义的属性动态创建访问器。例如,它可以用于创建具有从配置文件中读取的属性的配置对象(直到运行时才知道)。除了 else 分支,我理解所有这些。如果我是正确的,如果 *val 中传递了一个值,则 else 分支返回属性值 (val[0])。但是,如果在 *var 中传递了多个值,我希望它的编写方式返回一个数组 (val)。特别是,如果我有以下内容:

然后通过阅读我期望的代码@value to be [=,5]。但是@value返回 5 而不是数组 [=,5]。这怎么可能?

0 投票
8 回答
9264 浏览

c++ - 访问器应该返回值还是常量引用?

假设我有一个Foostd::stringmember的课程str。应该get_str返回什么?

或者

C ++中什么更惯用?

0 投票
2 回答
263 浏览

objective-c - 在什么情况下,这些内存管理技术中哪一种更好?

Apple 的内存管理编程指南展示了三种官方认可的技术,用于编写需要保留或释放对象引用的访问器方法。

在前两种技术的情况下(转载如下),Apple 文档说“在 getter 比 setter 更频繁地调用的情况下,技术 2 的性能明显优于技术 1。”

这是技术 1 和技术 2 之间的唯一区别,还是使用其中一种方法会产生我可能需要注意的其他微妙后果?如果技术 2 使用性能更好的 getter,它是否遵循技术 1 使用性能更好的 setter,因为它title获得了显式(并且可能是立即)发布?