打字猴:1.700479362e+09
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 ]  [ 下一页 ]