要应用享元模式,我们需要将对象属性分为内在属性和外在属性。内在属性使对象独一无二,而外在属性由客户端代码设置并用于执行不同的操作。
但我的问题是,为什么我们不能同时拥有内在和外在属性作为实例变量(参见下面的电子邮件类),只在循环外创建一个对象并在循环中设置参数并发送多封具有不同参数的电子邮件。
public class Test {
public static void main(String[] args) {
Email ob = new Email();
for (int i = 0; i < 10; i++) {
ob.sender = String.valueOf(i);
ob.sendEmail();
}
}
}
public class Email {
public String sender;
public void sendEmail()
{
System.out.println("Email sent to sender:"+sender);
}
}