package com.heima.chario;
//装饰模式设计的好处是:
//耦合性不强,被装饰的类的变化与装饰类的变化无关
public class Demo6_Warp {

	public static void main(String[] args) {
		HeiMaStudent hms=new HeiMaStudent(new Student());
		hms.code();
	}

}
 
interface Coder{
	public void code();
}

class Student implements Coder{

	@Override
	public void code() {
		System.out.println("javasee");
		System.out.println("javaweb");
	}
}
	
class HeiMaStudent implements Coder{
//	获取被装饰类的引用
	public Student s;//获取学生引用
//	在构造方法中传入被装饰类的对象
	public HeiMaStudent(Student s) {
		this.s=s;
	}
	
//	对原有的功能进行升级
	@Override
	public void code() {
		s.code();
		System.out.println("ssh");
		System.out.println("数据库");
		System.out.println("大数据");
		System.out.println("...");
	}
	
}
	

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐