有人可以帮我解决这个问题,我不知道为什么addCustomer()
类中有Customer
函数。
如何在Customer
对象中创建新的Customer
对象?示例如下:
-------------------
Class Customer
-------------------
+forename
+lastname
-------------------
+createCustomer()
-------------------
我的意思是当只有那两个属性时,存储了新的Customer obejct在哪里?
答案 0 :(得分:0)
编辑:更新以下Alexander Pavlov的评论(谢谢)。
很可能是工厂方法。所以它是基于类的操作而不是基于实例的操作。就像在java / c#/ etc中一样,基于类的操作(例如构造函数/工厂)和基于实例的操作都在类签名中声明。
与java等一样,不会在实例上调用createCustomer()
操作。例如(伪代码)
Customer customer1 = Customer.createCustomer();
Customer customer2 = Customer.createCustomer();
customer1.forename = "Jon";
customer1.surname = "Skeet";
//etc.
UML中曾经有一种惯例,即基于类的操作以'$'符号开头,以区别于基于实例的操作。但是,iirc,它只是一个惯例,没有在UML规范中强制要求。 (目前无法轻松访问规范进行检查)。
第h