Skip to content

Instantly share code, notes, and snippets.

@esirK
Created July 13, 2018 02:40
Show Gist options
  • Save esirK/ae60d8dc834b2788dd6224989a4e92fa to your computer and use it in GitHub Desktop.
Save esirK/ae60d8dc834b2788dd6224989a4e92fa to your computer and use it in GitHub Desktop.
abstract class CondimentDecorator: Beverage() {
abstract override var description: String
}
class Soya(var beverage: Beverage): CondimentDecorator() {
override fun cost(): Double {
return beverage.cost() + 1.0
}
override var description = beverage.description + ", Soy"
}
class Mocha(var beverage: Beverage) : CondimentDecorator() {
override var description = beverage.description + ", Mocha"
override fun cost(): Double {
return beverage.cost() + 0.5
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment