Class 两个继承类能否访问基类中的同一个变量?

Class 两个继承类能否访问基类中的同一个变量?,class,Class,设计类的好方法是什么?我正在尝试创建一个简单的聊天程序。我想把屏幕上的所有对象都封装起来。我创建了几个类,一个日志类、一个消息堆类(用于保存已接收和发送的消息)、一个textbox类和一个button类。我希望消息堆、文本框和按钮共享相同的字符串变量,只是希望它封装在类中 我确实尝试过创建一个基类。这将保存textbox和button类共有的所有数据和函数。这三个类将从Base派生以使用其共享变量。只有当我这样做时,变量才没有被共享。有办法做到这一点吗?有点像一个全局变量?只在它自己的类和它的派

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


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

您将类和对象混为一谈。当基类具有某个成员变量时,所有派生类都可以(潜在地)访问基类中的成员变量

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

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

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


如果不了解更多的情况,就很难对如何设计类和对象层次结构给出更多建议。

将基类视为其后代的模式。这些实例的每个实例都将包含自己的派生变量,而不是与其他实例共享。因此,在这种情况下继承不起作用。有很多可能的解决方案。例如,您可能希望有另一个类来管理您的所有内容。创建要共享的变量,并通过构造函数将其注入到创建的对象中-作为参数传递,存储到它们的变量中。在UI中,通常使用名为MVC的模式。这是基于一个类似的想法。一个好的OOD教程会有帮助。我使用C++。但这是非常有益的信息和帮助!非常感谢。