Показать сообщение отдельно
  #2 (permalink)  
Старый 08.09.2015, 18:26
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

caetus, а что, если типов уток будет 15? Геморой какой-то....
ES6 на вас не хватает =)

class Duck {

  constructor(name) {
    this.name = name;
  }

  quack() {
    console.log(`${ this.name }: quaack!`);
  }

  fly() {
    console.log(`${ this.name }: looks at you from height!`);
  }

  swim() {
    console.log(`${ this.name }: I'm swimming like a fish!`);
  }
}

const duck = new Duck('Foo');

duck.quack(); // quaack!
duck.fly(); // looks at you from height!
duck.swim(); // I'm swimming like a fish!


class WoodenDuck extends Duck {
	
  constructor(name) {
    super(name);
  }
  
  quack() {
  	console.log(`${ this.name }: I wanna quack, but I can't...`);
  }
  
  fly() {
    console.log(`${ this.name }: throw me to see how I fly!`);
  }
}

const wd = new WoodenDuck('Bar');

wd.swim(); // Bar: I'm swimming like a fish!
wd.fly(); // Bar: throw me to see how I fly!


Правда, так делать нелогично, ведь зачем деревянной утке знать о том, что она не умеет?=)

Последний раз редактировалось Lemme, 08.09.2015 в 18:53.
Ответить с цитированием