abstract class Abstract {
protected static DEFAULT_NAME: string = "Abstract";
protected name: string;
constructor (name?: string) {
this.name = name || Abstract.DEFAULT_NAME;
this.abstractMethod();
}
protected abstract abstractMethod (): void;
}
class Concrete extends Abstract {
constructor(name? name){
super(name);
}
protected abstractMethod () {
console.log(this, this.name);
}
}
new Concrete('Concrete');
По поводу миксинов типа box-shadow, flex не использу, т.к. после компиляции sass -> css обрабатываю автопрефиксером и на выходе получаю все вендорные префиксы для flex