问题描述
我有一个类的层次结构。根类是抽象的,称为Contact,它具有属性displayName。在GUI上,我有一个下拉列表,其中使用其displayName属性列出了各种联系人。 我没有必要获取这些类的源代码。
我想以某种方式覆盖Contact.displayName属性,以使其在我的特定情况下显示其他内容。我不能只在其中创建Contact的子类并覆盖属性,因为Contact类下有整个层次结构。有没有一种方法可以更改整个类层次结构的属性?也许使用委托?
我正在使用一种叫做Gosu的外来编程语言,但是基于某些通用的面向对象语言的解决方案也可以为我提供很多帮助。
解决方法
我没有尝试过,但也许有了增强功能。我不确定它是否有效,因为DisplayName是实体的属性。
更新: Guidewire Studio中有一个文件夹,配置/配置/实体名称。打开Contact.en,您可以自定义DisplayName。
,您可以键入将联系人实体转换为其子类型,然后尝试在GUI中显示它。像(作为人联系).DisplayName之类的