0

什么是设计类的好方法?我正在尝试创建一个简单的聊天程序。我希望封装屏幕中对象使用的所有内容。我创建了一些类,一个日志类,一个消息堆类(用于保存已接收和发送的消息),一个文本框类和一个按钮类。我希望消息堆、文本框和按钮共享相同的字符串变量,但我希望它封装在类中。

我确实尝试过创建一个 Base 类。这将保存文本框和按钮类共有的所有数据和函数。这三个类将从 Base 派生以使用其共享变量。只有当我这样做时,变量才没有共享。有没有办法做到这一点?有点像全局变量?仅在其自己的类及其派生类中?两个派生类的两个对象都应该能够访问基类对象的变量。

4

1 回答 1

1

您正在混淆类和对象。当您有一个带有一些成员变量的基类时,所有派生类都可以(可能)访问基类中的成员变量。

但是,当您实例化不同的派生类或其中一个派生类多次时,每个对象都有一组完整的独立成员变量,包括来自基类的成员变量,因为这正是对象的本质。

如果您希望某些对象组使用相同的“共享”变量,那么您可以将这些共享的东西粘贴到专用的“共享”类中。然后对于需要共享这些“变量”的每组对象,创建这个“共享”类的实例,并将其传递给组中的所有对象。

这也比摆弄“静态”类成员或在您使用的语言中调用它们更灵活,因为您可以通过拥有多个“共享”对象并确切地决定哪个对象来拥有多个这些对象“组” “实际”对象共享相同的“共享”数据/变量。

如果不了解更多关于正在发生的事情,就很难就如何设计类和对象层次结构提供更多建议。

于 2012-09-23T20:53:30.860 回答