我们今天在 Angular Component 里处理一个输入属性时,常见写法是把外部赋值交给set,在赋值入口做格式转换、范围校验或状态联动,再通过get暴露读取结果。调用方表面上仍然使用普通属性语法,底层却会进入访问器代码。Angular 官方文档也明确支持把基于装饰器的输入属性实现成 getter 和 setter,同时提醒访问器不应承载昂贵操作,因为输入 setter 可能被多次调用,并建议在适合的场景优先考虑 input transform。(Angular)把这个问题搬到 ABAP,答案需要分成两层理解。ABAP Objects 没有 TypeScript 那种专门用于声明属性访问器的get与set关键字,也没有一种语法能让lo_object-quantity的读取自动跳进 getter,让lo_object-quantity = 5的赋值自动跳进 setter。ABAP 里的类状态由属性保存,类行为由方法实现,公开范围、保护范围和私有范围决定外部代码能看到哪些组件。SAP 的 ABAP 关键字文档把属性定义为类内部的数据对象,把方法定义为决定对象行为的内部过程,这套模型提供了完整封装能力,只是调用语法不像 TypeScript 属性访问器那样透明。(