Skip to content

Instantly share code, notes, and snippets.

@anjanashankar9
Created February 15, 2021 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anjanashankar9/0f2685cfbc2009b72f9bf33bd962d898 to your computer and use it in GitHub Desktop.
Save anjanashankar9/0f2685cfbc2009b72f9bf33bd962d898 to your computer and use it in GitHub Desktop.
Decorator Pattern - Concrete Decorators
public class FillColor extends ShapeDecorator {
String color;
public FillColor(Shape decoratedShape, String color) {
super(decoratedShape);
this.color = color;
}
@Override
public void draw() {
decoratedShape.draw();
setColor();
}
private void setColor(){
System.out.println("Color: "+color);
}
}
public class BorderThickness extends ShapeDecorator {
Integer borderThickness;
public BorderThickness(Shape decoratedShape, Integer thickness) {
super(decoratedShape);
this.borderThickness = thickness;
}
@Override
public void draw() {
decoratedShape.draw();
setThickness();
}
private void setThickness(){
System.out.println("Border Width: "+borderThickness);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment