Java中的虚拟(派生)属性是什么?

Java中的虚拟(派生)属性是什么?,java,Java,我应该创建一个派生属性,该属性将具有处理诸如“Mark E.Brown”之类的值的访问器和变异器 我不懂这个词。这对我来说是新的。帮忙 public String getFullName() { return fullName = getFirstName() + " " + getMiddleInitial() + " " + getLastName(); } public void setFullName(String aFirstName, String aLast

我应该创建一个派生属性,该属性将具有处理诸如“Mark E.Brown”之类的值的访问器和变异器

我不懂这个词。这对我来说是新的。帮忙

    public String getFullName()
{
    return fullName = getFirstName() + " " + getMiddleInitial() + " " + getLastName();
}

   public void setFullName(String aFirstName, String aLastName, String aMiddleInitial)
   {
    firstName = aFirstName;
    lastName = aLastName;
    middleInitial = aMiddleInitial;
    fullName = aFirstName + " " + aMiddleInitial + " " + aLastName;
    }

虚拟属性或派生属性是指没有相应的单个成员变量存储其值,而是从其他属性派生的属性

例如,一个具有first_name、middle_initial和last_name的类可以提供一个名为full_name的派生属性,该属性并没有后端字符串来存储全名,而是返回所有其他三个属性的聚合


这里的诀窍是,该派生属性的setter必须知道如何获取全名字符串并使用新值更改其派生属性。

虚拟属性或派生属性是没有相应的单个成员变量存储其值,而是从其他属性派生的属性

例如,一个具有first_name、middle_initial和last_name的类可以提供一个名为full_name的派生属性,该属性并没有后端字符串来存储全名,而是返回所有其他三个属性的聚合


这里的诀窍是,该派生属性的setter必须知道如何获取全名字符串并使用新值更改其派生的属性。

访问器和变异器基本上是getter和setter方法,我们借助它们在类中获取和设置值,而不是直接访问这些变量从外部封装数据

派生属性不是直接提供给您的,但您必须从其他属性派生它

我可以给你一个提示,你可能必须从名字、中间名和姓氏派生出全名。因此,您必须设置并获取这些值,然后派生一个全名


如果我走错了方向,请纠正我。

访问器和变异器基本上是getter和setter方法,通过它们我们可以在类中获取和设置值,而不是直接从外部访问这些变量来封装数据

派生属性不是直接提供给您的,但您必须从其他属性派生它

我可以给你一个提示,你可能必须从名字、中间名和姓氏派生出全名。因此,您必须设置并获取这些值,然后派生一个全名


如果我走错了方向,请纠正我。

我对派生属性的理解是,你可以从另一个属性派生它。比如,如果你有出生日期,你可以推断年龄。对我来说,accessor/mutator意味着getter和setter,如果有帮助的话?我对派生属性的理解是,可以从另一个属性派生它。比如,如果你有出生日期,你可以推断年龄。对我来说,访问器/变异器意味着getter和setter,如果这有帮助的话?所以我想我的访问器和变异器在上面编辑的代码中看起来会像什么?这是一个选项,也是一个很好的安全选项。您还可以创建一个setter,它接受单个字符串参数并将其拆分为不同的部分,但这会更复杂,更不安全,特别是如果你没有中间的首字母或复合名字……所以我想我的访问器和变异器会像上面编辑的代码一样?这是一个选择,也是一个很好的安全选择。您也可以创建一个setter,它接受一个字符串参数,并将其拆分为不同的部分,但这将更复杂,更不安全,尤其是如果您没有中间的首字母或复合名..所以我猜我的访问器和变异器看起来像上面编辑的代码?参见,在您的setter中,如果您正在执行fullName=affirstname+“”+aMiddleInitial+“”+aLastName;然后,您不需要创建getFullName方法,因为您已经使用该方法更改了fullName的值。公共字符串getFullName(){return fullName;}这应该可以正常工作。此外,您还可以分别执行setFirstName、setMiddleName和setLastName,然后使用getFullName,正如您刚才编写的那样。我希望你能得到gistSo我猜我的访问器和变异器会像上面编辑的代码一样?看,在你的setter中,如果你在做fullName=affirstname+“”+aMiddleInitial+“”+aLastName;然后,您不需要创建getFullName方法,因为您已经使用该方法更改了fullName的值。公共字符串getFullName(){return fullName;}这应该可以正常工作。此外,您还可以分别执行setFirstName、setMiddleName和setLastName,然后使用getFullName,正如您刚才编写的那样。我希望你明白要点