Class Structure
├── Grub
│ └── Bee
│ ├── HoneyMakerBee
│ └── ForagerBee
위의 class structure에 기반하여 간단한 객체지향 프로그래밍을 구현해본다.
통과해야 할 테스트 내용은 위와 같다.
class Grub {
// TODO..
constructor(){ //속성 추가
this.age = 0;
this.color = 'pink';
this.food = 'jelly';
}
eat(){ //메소드 추가
return 'Mmmmmmmmm jelly';
}
}
module.exports = Grub;
const Grub = require('./Grub');
class Bee extends Grub {
// TODO..
constructor(){
super();
this.age = 5;
this.color = 'yellow';
this.job = 'Keep on growing';
// this.food = Grub으로부터 상속받음
}
// eat(){
// //Grub으로부터 상속받음
// }
}
module.exports = Bee;
const Bee = require('./Bee');
class ForagerBee extends Bee {
// TODO..
constructor(){
super();
this.age = 10;
// this.color = bee로부터 상속받음;
this.job = 'find pollen';
// this.food = Grub으로부터 상속받음
this.canFly = true;
this.treasureChest = [];
}
// eat(){
// //Grub으로부터 상속받음
// }
forage(treasure){
//'treasureCest 속성에 보물을 추가할 수 있어야 함.
this.treasureChest.push(treasure); //배열이니까 push 메소드 사용하여 배열요소 추가
}
}
module.exports = ForagerBee;
const Bee = require('./Bee');
class HoneyMakerBee extends Bee {
// TODO..
constructor(){
super();
this.age = 10;
// this.color = bee로부터 상속받음;
this.job = 'make honey';
// this.food = Grub으로부터 상속받음
this.honeyPot = 0;
}
// eat(){
// //Grub으로부터 상속받음
// }
makeHoney(){
this.honeyPot+=1
}
giveHoney(){
this.honeyPot-=1
}
}
module.exports = HoneyMakerBee;
new
키워드의 사용법을 이해할 수 있다.class
키워드의 사용법을 이해할 수 있다.