使用装饰者的方式完成类的方法的增强
这里我就简单的举一个例子
- 把一个普通学生类中的学习方法加强成为优秀学生的学习方法
- 我们先准备一个接口学生
package com.itbear.Demo01;
public interface Student {
void study();
}
- 实现接口创造一个普通学生
package com.itbear.Demo01;
public class PTStudent implements Student{
@Override
public void study() {
System.out.println("我是普通的学生");
}
}
- 下面就是增强这个学生,类似包装的方式增强
package com.itbear.Demo01;
public class YXStudent implements Student{
//我们先需要得到一个普通学生
private PTStudent ptStudent;
public YXStudent(PTStudent ptStudent){
this.ptStudent = ptStudent;
}
//实现方法
@Override
public void study() {
ptStudent.study();
System.out.println("我变成学霸了");
}
}
- 测试即可
package com.itbear.Demo01;
public class Test01 {
public static void main(String[] args) {
YXStudent yxStudent = new YXStudent(new PTStudent());
yxStudent.study();
}
}
结果就是 在有普通的方法上又有了增强的方法
网友评论