将程序从结构化重写为面向对象

时间:2013-08-23 14:04:49

标签: c++ oop structured-programming

我是一名自学C ++程序员,因为我的第一个编程语言是Fortran(在接触C ++之前很多年)我编写了结构化C ++。

现在我想采取下一步,学习面向对象的编程。

我写了一个用于解析日志文件的小应用程序,我更喜欢用OOP方法编写相同的应用程序,而不是创建一些全新的东西。认为附带的好处是两种方法的真实比较。

问题是 - 我应该从头开始还是可以逐步重写结构化代码? 如果重写是一个过程,那么最好的方法是什么?

我必须承认我对OOP有点困惑。

1 个答案:

答案 0 :(得分:0)

无论您是想从头开始还是尝试重写,实际上完全取决于您。两者都有其优点和缺点。

一旦你理解了OOP的基础知识,它就非常容易实现,而且我发现我更喜欢OOP而不是结构化。

这是一个转换为OOP的简单结构化程序的示例: 结构:

Class Foo
{
     public static DoSomething()
     {
         return true;
     }
}

要实现这一点,我们会说:

main()
{
    Foo f;
    f = Foo.DoSomething();
}

现在我们将使用完全相同的代码并将其设为OOP:

Class Foo
{
    public Foo() // Constructor for object
    {
    }
    public DoSomething()
    {
        return true;
    }
}

并实施:

Foo f = new Foo()
f.DoSomething()

一旦你理解了OOP,你就可以学到大量基于对象的语言(例如Python)。所以你努力学习是件好事,我祝你好运!