我有一个层次结构的类。根类是抽象的,叫做Contact,它有一个DisplayName 属性。在 GUI 上,我有一个下拉列表,其中列出了各种联系人,使用他们的 DisplayName 属性。我无法访问这些类的源代码。
我想以某种方式覆盖 Contact.DisplayName 属性,以使其在我的特定场景中显示其他内容。我不能只创建 Contact 的子类并在那里覆盖属性,因为 Contact 类下有整个层次结构。有没有办法改变整个类层次结构的属性?也许使用代表?
我正在使用一种叫做 Gosu 的异国编程语言,但是基于一些常见的面向对象语言的解决方案也可以帮助我很多。