首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在另一个构造函数中调用构造函数方法?

在另一个构造函数中调用构造函数方法?
EN

Stack Overflow用户
提问于 2016-12-07 13:02:38
回答 1查看 137关注 0票数 1

环境变化:蒲公英0.9.0

来自蓬松教程

代码语言:javascript
复制
class Wombat
  let name: String
  var _hunger_level: U64

  new create(name': String) =>
    name = name'
    _hunger_level = 0

  new hungry(name': String, hunger': U64) =>
    name = name'
    _hunger_level = hunger'

尝试如下,编译器会抱怨:constructor with undefined fields

代码语言:javascript
复制
  new create(name': String) =>
    hungry(name', 0)

哪里能得到确切的解释?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 14:59:31

Pony中的构造函数调用总是会创建一个新的对象,没有委托构造函数。

代码语言:javascript
复制
new create(name': String) =>
  hungry(name', 0)

在您的示例中,对hungry的调用不是应用于在create中初始化的对象,而是应用到分配的新Wombat

在小马伪码中,这才是真正发生的事。

代码语言:javascript
复制
new create(this: Wombat, name': String) =>
  let new_wombat = Wombat_Alloc()
  hungry(new_wombat, name', 0)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41018234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档