Я программист C ++ с самообучением, учитывая, что моим первым языком программирования был Fortran (за много лет до того, как он коснулся C ++), я пишу структурированный C ++.
Теперь я хочу сделать следующий шаг и изучить объектно-ориентированное программирование.
Я написал небольшое приложение для разбора лог-файлов, я бы предпочел написать то же самое приложение в ООП-подходе, а не создавать что-то совершенно новое. Думаю, что побочным эффектом будет реальное сравнение двух подходов.
Вопрос в том, стоит ли начинать с нуля или постепенно переписать структурированный код?
Если переписывание идет, Каков наилучший подход для этого?
Я должен признать, что я немного запутался с ООП.
На самом деле все зависит от вас, хотите ли вы начать с нуля или попытаться переписать. Оба имеют свои преимущества и недостатки.
Как только вы поймете основы ООП, его невероятно легко реализовать, и я обнаружил, что предпочитаю ООП, а не структурированный.
Вот пример простой структурированной программы, преобразованной в ООП:
Структурированные:
Class Foo
{
public static DoSomething()
{
return true;
}
}
Для реализации этого мы бы сказали:
main()
{
Foo f;
f = Foo.DoSomething();
}
Теперь мы возьмем точно такой же код и сделаем его ООП:
Class Foo
{
public Foo() // Constructor for object
{
}
public DoSomething()
{
return true;
}
}
И реализовать:
Foo f = new Foo()
f.DoSomething()
Как только вы поймете ООП, вы сможете изучать огромное количество языков, которые в значительной степени основаны на объектах (например, Python). Так что хорошо, что вы пытаетесь учиться, и я желаю вам удачи!
Других решений пока нет …