目前,我们正在撰写关于为学术面向对象的迷你编程语言实现编译器的学士论文。
我们希望在我们的文档中保持精确,并且我们目前正在讨论构造函数是否是例程。
我们认为构造函数是一个例程是它有一个命令块、参数块和局部变量。尽管缺少名称,但给出了其他例程的所有其他属性。
我们认为构造函数不是例程的观点是每个实例只能调用一次。
我们不确定这个问题是否有明确的答案,或者定义是否因理论而异。
如果有人能指出一些关于这个语义问题的文献,我们会很高兴。
最好的
编辑:关于我们如何用我们的语言命名特定事物的一些信息:
- 我们有功能和程序。函数确实有返回值,过程没有。
- 构造函数就像一个未命名的过程(没有明确的返回值)
- 构造函数被称为隐式,java如:
x := new X(1, new Y())
- 参数是在定义构造函数期间定义的。自己的实例 (
this
) 不被视为参数,而是隐式提供
到目前为止,感谢您的回答,他们正在帮助您完成整个过程。