1700479362
}
1700479363
1700479364
public String getTo(){
1700479365
1700479366
return to;
1700479367
1700479368
}
1700479369
1700479370
public void setTo(String to){
1700479371
1700479372
this.to=to;
1700479373
1700479374
}
1700479375
1700479376
public String getSubject(){
1700479377
1700479378
return subject;
1700479379
1700479380
}
1700479381
1700479382
public void setSubject(String subject){
1700479383
1700479384
this.subject=subject;
1700479385
1700479386
}
1700479387
1700479388
public void setContext(String context){
1700479389
1700479390
this.context=context;
1700479391
1700479392
}
1700479393
1700479394
//邮件都有内容
1700479395
1700479396
public String getContext(){
1700479397
1700479398
return context;
1700479399
1700479400
}
1700479401
1700479402
}
1700479403
1700479404
很奇怪,是吗?抽象类没有抽象的方法,设置为抽象类还有什么意义呢?有意义,在这里我们定义了一个这样的抽象类:它具有邮件的所有属性,但不是一个具体可以被实例化的对象。例如,你对邮件服务器说“给我制造一封邮件”,邮件服务器肯定拒绝,为什么?你要产生什么邮件?什么格式的?邮件对邮件服务器来说是一个抽象表示,是一个可描述但不可形象化的事物。你可以这样说:“我要一封标题为XX,发件人是XXX的文本格式的邮件”,这就是一个可实例化的对象,因此我们的设计就产生了两个子类以具体化邮件,而且每种邮件格式对邮件的内容都有不同的处理。我们首先看文本邮件,如代码清单33-2所示。
1700479405
1700479406
代码清单33-2 文本邮件
1700479407
1700479408
public class TextMail extends MailTemplate{
1700479409
1700479410
public TextMail(String_from,String_to,String_subject,String_context){
1700479411
[
上一页 ]
[ :1.700479362e+09 ]
[
下一页 ]