面向对象的编程

Ale*_*rty 5 c c++ oop

我正在用C++开发一个项目.我意识到我的程序不是OO.

我有一个main.cpp,有几个标题用于不同的目的.每个头基本上是相关函数的集合,其中一些全局变量用于保留数据.我还有一个用于管理窗口的windowing.h.这包含winMain()和winProc().当事件发生时(如点击按钮)或需要信息时(例如"创建此窗口有多大?"),它会调用驻留在main.cpp中的函数.这些函数在windowing.h中包含的单独.h文件中声明.

是否值得将此更改为OO?是值得的工作.有没有更好的方法可以在没有太多变化的情况下构建程序?

欢迎所有反馈,谢谢你花时间阅读本文.

Pot*_*ter 6

不,我认为如果没有破产,请不要修理它.

任何窗口系统在某种程度上本质上都是OO.您可以处理由OS管理的窗口,您可以对其执行某些操作.无论你是使用window->resize()还是resize(window)非物质.这种句法重排显然没有价值.

但是,随着应用程序的增长,您可能会发现许多窗口大多相似且略有不同.最佳实现是附带特殊功能的样板基本功能.这样做的方法是使用基类和多态.

因此,如果您可以使用OO重构程序以使其更优雅,那就去吧.如果它成长为具有自然进化的OO范例,请遵循最佳实践并让它成为现实.但是,不要只是尝试兼容流行语.