【发布时间】:2012-09-23 20:38:20
【问题描述】:
什么是设计课程的好方法?我正在尝试创建一个简单的聊天程序。我希望封装屏幕中对象使用的所有内容。我创建了一些类,一个日志类,一个消息堆类(用于保存已接收和发送的消息),一个文本框类和一个按钮类。我希望消息堆、文本框和按钮共享同一个字符串变量,但我希望它封装在类中。
我确实尝试过创建一个 Base 类。这将保存文本框和按钮类共有的所有数据和函数。这三个类将从 Base 派生以使用其共享变量。只有当我这样做时,变量才没有共享。有没有办法做到这一点?有点像全局变量?仅在其自己的类及其派生类中?两个派生类的两个对象都应该能够访问基类对象的变量。
【问题讨论】:
-
将基类视为其后代的模式。其中的每个实例都将包含其自己的派生变量 - 不与他人共享。因此,在这种情况下继承不起作用。有很多可能的解决方案。例如,您可能希望有另一个类来管理您的所有东西。创建您要在此处共享的变量并将其注入您通过构造函数创建的对象中 - 作为参数传递,存储到它们的变量中。在 UI 中,经常使用名为 MVC 的模式。它基于一个有点相似的想法。一个好的 OOD 教程会有所帮助。
-
我正在使用 C++。但这是非常有用和有帮助的!谢谢!
标签: class