学习过Java和C++之后,我学习了面向对象的方法。我想着手进行一个雄心勃勃的项目,但是我想在C语言中完成。我知道如何将问题分解为类,以及如何将它们转变为类层次结构。我知道如何将功能抽象为抽象类和接口(interface)。我什至精通以有效的方式使用多态。
问题是,当我遇到问题时,我唯一知道如何解决问题的方法就是面向对象的方法。我太依赖于面向对象的设计哲学和方法论。
我想学习如何以严格的程序方式思考。在一个缺少类,接口(interface),多态性,函数重载,构造函数等的世界中,我该如何做?
您如何仅使用非面向对象的struct
来表示复杂的概念?如何避免缺少函数重载?以程序方式思考的一些技巧和窍门是什么?
最佳答案
过程的方法是,一方面具有数据结构,另一方面具有算法。然后,采用数据结构并将其传递给算法。如果不使用封装,则需要花费更多的纪律,并且如果您增加抽象级别以使其更容易正确地进行,则您在C语言中的OO工作相当多。