邮票联结改进

时间:2017-12-14 09:51:23

标签: java oop decoupling stamp

我在大学的Stamp Coupling学习编程。我们正在学习系统分析和设计。我的同学问我一个问题,如何解决邮票联结?我问老师说过"使用界面限制来自客户的访问"但我仍然误解。 enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

好吧,由于打印方法只需要客户的姓名,地址和账单信息,因此您无需向其传递任何其他信息。

您可以定义界面:

public interface PrintableCustomer
{
    public ... getName();
    public ... getAddress();
    public ... getBillingInfo();
}

现在,让Customer类实现PrintableCustomer

现在,打印方法可以接受PrintableCustomer而不是Customer

void print (PrintableCustomer customer)
{
    ...
}

现在print()只能看到它需要的属性。