Skip to content

Instantly share code, notes, and snippets.

@ragmha
Created November 26, 2018 13:41
Show Gist options
  • Save ragmha/32d103b3f85b26d4e142973f4d3e19b7 to your computer and use it in GitHub Desktop.
Save ragmha/32d103b3f85b26d4e142973f4d3e19b7 to your computer and use it in GitHub Desktop.
abstract class Sizes {
constructor(protected sizes: string[]) {}
set availableSizes(sizes: string[]) {
this.sizes = sizes;
}
get availableSizes() {
return this.sizes;
}
}
class Pizza extends Sizes {
public toppings: string[] = [];
constructor(readonly name: string, sizes: string[]) {
super(sizes);
}
public updateSizes(sizes: string[]) {
this.sizes = sizes;
}
public addTopping(topping: string) {
this.toppings.push(topping);
}
}
const pizza = new Pizza("Peuperuni", ["small", "medium"]);
console.log(pizza.availableSizes);
pizza.updateSizes(["large, extra-large"]);
console.log(pizza.availableSizes);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment