我对 Java 比较陌生,并且在为我正在处理的程序提出真正面向对象的设计时遇到了麻烦。这是该计划的背景。该程序是一个基于 gui 的计算机电话应用程序,它监控电话并充当 callerID(除其他外)。我目前的设计如下。我创建了以下类。
MainWindow——这是gui的主窗口
电话——模拟实际设备
PopUpWindow——这个模型是在Phone类中的一个事件上弹出的弹出窗口
PhoneMessenger - 当电话类中发生事件时,它会向另一台设备发送消息
我遇到的问题是,当 Phone 类中发生事件时,我希望它更新 MainWindow 类中的值。我通过在 MainWindow 类中构造一个静态类变量 MainWindow window 并使用静态方法根据 Phone 类中的事件更改 MainWindow 类的值来使程序工作。它工作正常,但我认为这不符合面向对象的设计原则,因为 Phone 类现在可以访问 MainWindow 类的所有内部值。如果有人可以帮助我设计这将是惊人的。