gpt4 book ai didi

java - 给定相同类型的对象更新当前对象

转载 作者:行者123 更新时间:2023-12-01 19:50:22 26 4
gpt4 key购买 nike

假设我们有以下类:

class Credentials implements ICredentials{
String name;
String surname;
String email;

public void update(ICredentials updatedCredentials){
// do stuff here
}

}

我想使用相同类型的对象来更新当前类的字段(上面的字符串),而不使用 getter 或 setter。有办法吗?

PS:这里是菜鸟。

最佳答案

您可以将要更新的对象传递给更新其内容的 ICredentials 方法:updateParam(Credentials)
在接口(interface)和实现它的 Credentials 中添加此方法可以使用参数的私有(private)字段,因为类的实例可以访问私有(private)字段而无需 getter。

class Credentials implements ICredentials{

public void update(ICredentials updatedCredentials){
updatedCredentials.updateParam(this);
}

@Override
public void updateParam(Credentials credentialsToUpdate){
credentialsToUpdate.name= name;
credentialsToUpdate.surname = surname;
credentialsToUpdate.email= email;
}
}

但这已经够复杂的了。
实际逻辑中的真正问题是您希望将 ICredentials 作为参数传递,而不必是 Credentials。在这些情况下,接口(interface)需要提供一种方法来提取姓名和电子邮件信息。
您不必严格将这些方法视为 getters,而是将其视为履行接口(interface)契约所需的方法。
没有它,要从接口(interface)中提取数据,您应该做一些复杂的事情或从接口(interface)向下转换到子类,或者更糟......

关于java - 给定相同类型的对象更新当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51499456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com