打字猴:1.700479612e+09
1700479612 //发件人
1700479613
1700479614 System.out.println(“发件人:”+m.getFrom());
1700479615
1700479616 //收件人
1700479617
1700479618 System.out.println(“收件人:”+m.getTo());
1700479619
1700479620 //标题
1700479621
1700479622 System.out.println(“邮件标题:”+m.getSubject());
1700479623
1700479624 //邮件内容
1700479625
1700479626 System.out.println(“邮件内容:”+m.getContext());
1700479627
1700479628 }
1700479629
1700479630 }
1700479631
1700479632 该类相对于策略模式的环境角色有两个改变:
1700479633
1700479634 ❑修改为抽象类。为什么要修改成抽象类?因为我们在设计一个架构,邮件服务器是一个具体的、可实例化的对象吗?“给我一台邮件服务器”能实现吗?不能,只能说“给我一台Postfix邮件服务器”,这才能实现,必须有一个明确的可指向对象。
1700479635
1700479636 ❑变量m修改为Protected访问权限,方便子类调用。
1700479637
1700479638 我们再来看看Postfix邮件服务器的实现,如代码清单33-8所示。
1700479639
1700479640 代码清单33-8 Postfix邮件服务器
1700479641
1700479642 public class Postfix extends MailServer{
1700479643
1700479644 public Postfix(MailTemplate_m){
1700479645
1700479646 super(_m);
1700479647
1700479648 }
1700479649
1700479650 //修正邮件发送程序
1700479651
1700479652 public void sendMail(){
1700479653
1700479654 //增加邮件服务器信息
1700479655
1700479656 String context=“Received:from XXXX(unknown[xxx.xxx.xxx.xxx])by
1700479657
1700479658 aaa.aaa.com(Postfix)with ESMTP id 8DBCD172B8\n”;
1700479659
1700479660 super.m.add(context);
1700479661
[ 上一页 ]  [ :1.700479612e+09 ]  [ 下一页 ]