10 Qt面向对象编程

10.1 面向对象的Qt编程优于基于对象的Qt编程

所谓基于对象的Qt编程,就是在完全不使用任何面向对象技术的前提下,只利用Qt提供的类创建对象,通过其公开的接口,实现程序功能的编程方式。这样的应用程序通常无法满足用户的全部需求。首先,Qt类保护成员中的诸多实现,无法在类的外部被复用,Qt借助多态实现的很多机制,如事件处理等,也无法使用。其次,当Qt提供的信号和槽不可能满足用户需求时,往往不得不自己定义信号和槽,而这也要用到面向对象技术。最后,Qt设计师和创造器等工具,都以面向对象的方式使用Qt,反其道而行之将无法体现出集成开发环境所带来开发效率的提升。

10.2 通过面向对象的Qt编程完善计算器的功能

计算器应满足如下需求:

不采用面向对象技术,这些功能将很难实现。