gpt4 book ai didi

java - 为什么 java.awt.Dimension 有公共(public)变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:21 25 4
gpt4 key购买 nike

public 变量的类在封装中被认为是弱的,这不是一个糟糕的设计实践吗?

如果是这样,为什么 java.awt.Dimension 有 2 个公共(public)变量 widthheight

最佳答案

我认为公开公共(public)字段并不违反封装本身。封装是实体的属性,实体内部隐藏着复杂的内部结构。这个复杂的结构不能直接访问,因此没有被破坏的风险。它只能通过公共(public)方法访问,这使得它们可以很好地工作并且不会破坏复杂的内部结构。例如,我们无法直接访问 HashMap 的哈希表,也无法破坏它。我们只使用 getput 方法来正确处理哈希表状态。但是Dimension对象的复杂结构在哪里呢?当我们只写 d.width = 23 时,哪些东西会出错?

我认为在这种情况下使用公共(public) getter/setter 而不是公共(public)字段是有原因的:品味和惯例。我想后者更重要。但这也取决于我们应用这些约定的地点和目的。

关于java - 为什么 java.awt.Dimension 有公共(public)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209942/

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