微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您是否可以在Java中使用类似于关键字args的概念来最小化访问器方法的数量?

我最近了解到,在 Python 3中,为了最小化类的访问器方法数量,您可以使用字典基本上只有一组访问器方法,如下所示:
def __init__(self,**kwargs):
    self.properties = kwargs

def get_properties(self):
    return self.properties

def get_property(self,key):
    return self.properties.get(key,None)

这似乎非常有用,我想在Java中应用类似的东西.我一直在研究可能具有多个属性的应用程序,创建和跟踪所有访问器方法可能很痛苦.是否有类似的策略我可以用于Java?

解决方法

如果它适合并且它最适合使用该模式,但它确实应该是Java规则的一个例外 – 它可能不合适.

Java中的最佳实践是为每个变量使用getter和setter方法.是的,这是更多的代码 – 所以 – 如果你的懒惰让你的IDE自动生成它们.这是有充分理由的.很多好理由.有些是;

>促进私人变量
>定义其他类的外部接口,允许类控制设置或获取变量的内容和方式
>通过建立处理对象变量的标准方法来促进良好的编码实践

通过移植此模式,您将遇到的问题是打字. Python是动态类型的,Java是静态类型的.因此,为了在Java中使用相同的模式,您必须将值存储在类似字符串/对象数组的内容中,然后将它们作为对象或String返回.那么你以后必须转换它们.也许如果你的’属性’都是字符串,那就没关系.该规则有例外,但您需要了解所有规则才能打破它们.如果它们是不同的类型(String,int,CustomObject等),请不要使用在Python中使用的相同模式.

原文地址:https://www.jb51.cc/java/128360.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐