Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 本机/计算属性getter的最佳实践_Api_Language Agnostic_Naming Conventions_Getter_Getter Setter - Fatal编程技术网

Api 本机/计算属性getter的最佳实践

Api 本机/计算属性getter的最佳实践,api,language-agnostic,naming-conventions,getter,getter-setter,Api,Language Agnostic,Naming Conventions,Getter,Getter Setter,这是一个关于getter的一般性问题 假设我有一个User类,它有两个本机属性firstname和lastname,还有一个动态计算属性fullname 什么是最好的方式命名的getter为这些 我同意: user->get_firstname(); user->get_lastname(); // or user->firstname; user->lastname; 但我更关心的是: user->get_fullname(); // or user->f

这是一个关于getter的一般性问题

假设我有一个
User
类,它有两个本机属性
firstname
lastname
,还有一个动态计算属性
fullname

什么是最好的方式命名的getter为这些

我同意:

user->get_firstname();
user->get_lastname();
// or
user->firstname;
user->lastname;
但我更关心的是:

user->get_fullname();
// or
user->fullname;
因为我们觉得它只是另一个本地财产,但事实并非如此。
fullname
属性可以读取,但不能写入,没有设置程序。我们不能把它当作本地属性来处理

我希望能够区分这些属性(本机属性和动态计算属性),我应该怎么做


来自现有框架的示例以及它们如何处理这些示例非常受欢迎。

我不确定您的问题到底是什么

但您不需要为字段创建setter,因为您不希望在这些字段中创建setter。 让我举个例子:


这会奏效的

我认为它应该与其他getter命名相同。无论它是一个基本属性还是一个计算值,都取决于我希望从最终用户那里抽象出来的实现细节。全名在今天可能是一个计算值,但在将来可能不是。我希望将来可以在一个地方自由地改变这一点,但保持公共界面不变

public String fullname { get; set; }
public String lastname { get; }