加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:57:53 所属栏目:Java 来源:网络整理
导读:我最近了解到,在 Python 3中,为了最小化类的访问器方法的数量,您可以使用字典基本上只有一组访问器方法,如下所示: def __init__(self,**kwargs): self.properties = kwargsdef get_properties(self): return self.propertiesdef get_property(self,key): re
我最近了解到,在 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中使用的相同模式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读