【问题标题】:Creating action in Object Orientated Programming在面向对象编程中创建动作
【发布时间】:2016-01-16 22:58:39
【问题描述】:

我刚刚开始了一个面向对象的编程课程。我正在尝试编写一个程序,通过提供名称和年龄参数将Customer 添加到System,但不允许重复。

如果我正常编写此 Java 代码,我只需使用名为 new() 的方法创建一个名为 Customer 的类,其中包含名称和年龄实例变量,这将创建一个新客户。

但是由于这不是列表或任何东西,而是简单地将Customer 添加到System,我在哪里编写不允许重复的方法?

【问题讨论】:

  • 我不建议您在负责创建新实例的类中创建new() 方法;这就是 new 关键字的用途。
  • 好吧,听起来你的System 类需要一个addCustomer 方法。该方法应该处理检查重复的逻辑,因为Customer 不应该知道System
  • 您的System 不能只有Set<Customer> 成员吗?那么,随着Customer实现equals()hashCode,应该没问题。
  • 你不会创建一个名为new()的方法。你不能。
  • 听起来你想创建一个factory pattern

标签: java oop object-oriented-analysis


【解决方案1】:

System 中创建字段或使System 扩展Set 并覆盖Customer 类中的equals() 函数以比较不能重复的字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多