코드스테이츠 6주차 / Beesbeesbees

베웠던 상속 개념을 적용하는 스프린트 였다

전체적인 파일의 구성은 이렇게 되어있었고 Grub 파일 먼저 작성해보자
속성은 this 로 선언해주면 되고 메소드는 constructor 밖에 선언하면 된다

1. Grub

class Grub {
  constructor(){
  this.age = 0;
  this.color = 'pink'
  this.food = 'jelly'
  }

  eat(){
    return 'Mmmmmmmmm ' + this.food
  }
}

module.exports = Grub;

2. Bee

extends 와 super을 사용해서 Grub를 상속하고 나머지 케이스를 추가해준다

const Grub = require('./Grub');

class Bee extends Grub{
  // TODO..
  constructor(){
    super();

    this.age = 5;
    this.color = 'yellow';
    this.job = 'Keep on growing';
  }

}

module.exports = Bee;

3. HoneyMakerBee

const Bee = require('./Bee');

class HoneyMakerBee extends Bee{
  constructor(){
    super()
    this.age = 10;
    this.job = 'make honey';
    this.honeyPot = 0;
  }
  makeHoney(){
    return this.honeyPot++
  }
  giveHoney(){
    return this.honeyPot--
  }
}

4. ForagerBee

const Bee = require('./Bee');

class ForagerBee extends Bee{
  constructor(){
    super()

    this.age = 10;
    this.job = 'find pollen';
    this.canFly = true;
    this.treasureChest = [];
  }
  forage(e){
    return this.treasureChest.push(e)
  }
}

처음에는 어떻게 손을 대야하나 어려울 수 있지만 반복하다보면 조금 쉬워진다..

좋은 웹페이지 즐겨찾기