首页 > 解决方案 > 在 javascript 中正确组织类

问题描述

我正在为 node.js 中的游戏编写服务器。

我对正确的结构有疑问。例如我有这个代码:

class mob {
    constructor(name) {
      this.name = name;
      this.health = 100;
    }
    getHealth() {
      return this.health;
    }
}

class items{
    constructor(name, id) {
      this.name = name;
      this.id= id;
      this.value= value;
    }
    getValue() {
      return this.value;
    }
}

 class world {
    constructor(name) {
      this.name = name;
      this.weather = 'rain';
      this.monsters = {};
    }

   addMonster(name) {
     const monster = new mob(name);
     this.monsters['1'] = monster;
   }

   setWeather(weather) {
     this.weather = weather;
   }
   play() {
     this.addMonster('dragon');

   }
 }

game = new world;
game.play();

我想在世界级中操纵天气,而不是在怪物级中使用例如这样的代码来复制它: monster.setWeather('snow');

除此之外,我想在世界类中添加新的类,如项目、地图对象等,并使用世界类中的函数来操作它们。例如: item.setWeather('rainbow');并且还操纵其他类上的类,例如monster.getItemValue('item') 在javascript中这样做的正确方法是什么?

标签: javascriptnode.jsclassoop

解决方案


我不知道我是否理解正确。

由于您已经有一个全局变量“game”,您可以直接使用“game.setWeather()”。


推荐阅读