Advertisement
Oppenheimer

Decorator pattern

Feb 23rd, 2025
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.69 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. abstract class BasePizza{
  4.     public abstract int cost();
  5. }
  6.  
  7. class Farmhouse extends BasePizza{
  8.     public int cost(){
  9.         return 100;
  10.     }
  11. }
  12.  
  13. // is a realtionship
  14. abstract class ToppingDecorator extends BasePizza{
  15. }
  16.  
  17. class ExtraCheese extends ToppingDecorator{
  18.     // has a relationship
  19.     BasePizza basePizza;
  20.     ExtraCheese(BasePizza basePizza){
  21.         this.basePizza = basePizza;
  22.     }
  23.     public int cost(){
  24.         return this.basePizza.cost()+10;
  25.     }
  26. }
  27. public class Main{
  28.     public static void main(String args[]){
  29.         BasePizza pizza1 = new ExtraCheese(new Farmhouse());
  30.         System.out.println(pizza1.cost());
  31.        
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement