裝飾者模式
作用:對對象的原有功能進行升級
書寫步驟
1.明確被裝飾的對象
2.將被裝飾的對象 通過構造方法傳入裝飾類
裝飾類中 肯定有一個成員變量 就是被裝飾的對象
3.擁有被裝飾的對象 相當於可以調用該對象中的所有方法
就可以對該方法進行升級
// 在校學生
class Student implements Study{
@Override
public void Study() {
System.out.println("在校學習了 c++ c# c");
}
}
// 裝飾類
class LOStudent implements Study{
// 將被裝飾者聲明爲成員變量
private Student student;
// 提供有參的構造方法
public LOStudent() {
super();
}
public LOStudent(Student student) {
super();
this.student = student;
}
// 對方法進行裝飾(升級)
@Override
public void Study() {
// 調用原有的學習方法
student.Study();
// 裝飾新功能
System.out.println("又學習了 java h5 U3D");
}
}
以上就是一個簡單的裝飾者模式栗子。