从 Python 的 __init__ 到 ABAP 的 constructor,对象初始化逻辑如何一一对应
眼下这段 Windows 键鼠监控程序里,def __init__(self, root)承担的是一个很具体的任务。MonitorApp实例创建完成后,初始化方法接过当前对象和Tkinter根窗口,把窗口引用保存下来,再设置标题、尺寸、颜色、控件和事件。Python 官方文档把__init__定义为实例已经由__new__创建之后、对象返回给调用方之前执行的初始化方法。self指向刚刚创建的实例,root则是调用方传进来的普通参数。在Tkinter语境里,它往往指根窗口或控件的父级对象,并不是 Python 保留字。(Python documentation)
ABAP 有高度对应的机制,名字叫实例构造器constructor。它不是外观相似而已,承担的职责也很接近。对象通过CREATE OBJECT或NEW创建时,ABAP 运行时自动调用该类的constructor,构造器接收输入参数,把实例属性放到一个可用的初始状态。SAP 的 ABAP 关键字文档明确说明,每个类都有一个预定义名称为constructor的实例构造器
