【问题标题】:Java Storing Rank and Suit as StringsJava将等级和花色存储为字符串
【发布时间】:2016-02-16 06:41:09
【问题描述】:

我仍然是编程新手,我正在尝试弄清楚项目的这一部分:Card 类表示具有等级和花色的扑克牌。插入将存储等级和套装作为字符串对象的实例数据,并定义一个接受和存储这些值的构造函数(等级然后套装)。 然后它说为卡片的等级和花色包括单独的 getter 和 setter 方法。

这对我来说可能太高级了,但据我所知,我应该这样做:

public class Card
{
   private String rank;
   private String suit;

【问题讨论】:

  • 看起来不错。 setter 是有争议的,getter(或类似的东西)是在运行时读取数据所必需的。
  • 我们使用 getter 和 setter 来访问私有字段而不是公共字段来控制从外部对字段的访问(封装)。更多信息:1, 2.

标签: java constructor setter getter instance-variables


【解决方案1】:

Getter 和 setter 由允许其用户读取和写入其状态的对象提供。内部状态应该是私有的。私人的东西在课堂之外是看不到的……因此需要 getter 和 setter。

你这里有一个 POJO。定义正确。

【讨论】:

    【解决方案2】:

    这是为了维护类内部的封装和完整性。一个类负责管理它的数据,并负责保证数据的完整性。如果您将数据公开,那么某人可以随心所欲地操纵数据,那么您就破坏了数据封装。使用 set/get,您可以控制数据的检索方式,您可以只提供 get,您可以在 set 中进行验证以及许多其他事情...

    基本上,是一种面向对象编程的好习惯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 2010-10-20
      • 1970-01-01
      • 2022-07-29
      • 2017-04-08
      相关资源
      最近更新 更多