gpt4 book ai didi

javascript - 如何从一个实例中创建一个新的类实例?

转载 作者:行者123 更新时间:2023-11-30 19:28:50 25 4
gpt4 key购买 nike

我想写一个小的“生命模拟”,生命形式可以在其中 self 繁殖。我希望每个类实例都能够创建更多实例,例如克隆/复制自身。我确实知道如何从类外部创建一个新实例,但我希望类自己完成。

class Life{

constructor(){
this.age = 0;
}

frame_loop(){
this.age ++;

if (this.age == 18){
this.reproduce();
}
}

reproduce(){
// obviously does not work
this.new();
}

}

let bacteria = new Life();

我不想从课外创造新的生活,比如

let bacteria1 = new Life();

感谢任何帮助。

最佳答案

你可以这样做。有一个 child 的属性(property),只要年龄合适,就会创建新的 Life()

class Life{
children = [];
constructor(){
this.age = 0;
}

frame_loop(){
this.age ++;

if (this.age == 18){
this.reproduce();
}
}

reproduce(){
console.log("new life")
this.children.push(new Life());
}

}

let bacteria = new Life();
for(var i = 0; i < 100; i++){
bacteria.frame_loop();
}

关于javascript - 如何从一个实例中创建一个新的类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56646280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com