缺省适配器模式:
文章链接:http://jzinfo.iteye.com/blog/558373
1.这个时候我们可以考虑使用一个中间类来解决这个问题,这个中间类空实现接口的所有方法,
同时,我们将这个中间类定义为抽象的,使其不可能被实例化,实例化中间过渡类没有任何实际的意义。
然后让具体的类继承这个中间类只让他覆盖自己所需的方法即可。
2.我们将这个中间过渡类称为 “缺省适配类”,这个模式也叫做缺省适配模式(Default Adapter)。
(1).缺省适配器模式:是为了一个接口提供缺省实现,这样子类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展,
是适配器模式的特例
package com.createtype.desginpatterns.defaultadapter;
public interface Study {
public void StudyGrade1();
public void StudyGrade2();
public void StudyGrade3();
public void StudyGrade4();
public void ThesisPresentation();
}
package com.createtype.desginpatterns.defaultadapter;
public abstract class StudyAdapter implements Study {
public void StudyGrade1() {
}
public void StudyGrade2() {
}
public void StudyGrade3() {
}
public void StudyGrade4() {
}
public void ThesisPresentation() {
};
}
package com.createtype.desginpatterns.defaultadapter;
public class SpecialStudent extends StudyAdapter {
public SpecialStudent() {
}
public void StudyGrade1() {
System.out.println("读大学一年级");
}
public void StudyGrade2() {
System.out.println("读大学二年级");
}
public void StudyGrade3() {
System.out.println("读大学三年级");
}
public void ThesisPresentation() {
System.out.println("修满了学分,参加论文答辩");
}
}
package com.createtype.desginpatterns.defaultadapter;
public class GeneralStudent extends StudyAdapter {
public GeneralStudent() {
}
public void StudyGrade1() {
System.out.println("读大学一年级");
}
public void StudyGrade2() {
System.out.println("读大学二年级");
}
public void StudyGrade3() {
System.out.println("读大学三年级");
}
public void StudyGrade4() {
System.out.println("读大学四年级");
}
public void ThesisPresentation() {
System.out.println("修满了学分,参加论文答辩");
}
}
package com.createtype.desginpatterns.defaultadapter;
public class DiscontinueStudyStudent extends StudyAdapter
{
public DiscontinueStudyStudent(){}
public void StudyGrade1(){
System.out.println("读大学一年级");
}
public void StudyGrade2(){
System.out.println("读大学二年级");
}
}