Разница между ОО и сгруппированными функциями? - PullRequest
2 голосов
/ 16 июня 2011

Я ничего не знаю об объектно-ориентированных функциях программирования, кроме очень легкой теории, поэтому я надеялся, что кто-нибудь сможет сказать мне, как использование объектов отличается от группирования функций, например:

void parent(int a, int b, int c, int d)
{
if(a == ?)
{
    void child(int a, int b)
    {
        etc
    }
}

if(b == ?)
{
    void child(int c, int d)
    {
        etc
    }
}

if(c == ?)
{
    void child(int c, int b, int a)
    {
        etc
    }
}
}

Помимо противоречивого типа данных, передаваемого в / из функций (в C, на котором я сейчас основываю свои знания) и доступа к конкретному модулю кода, который немного более многословен, в чем различия?

Надеюсь, я прояснил свой вопрос, хотя и не показался мне слишком идиотским в этом процессе.:)

Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 июня 2011

Основным отличием концепции функционального программирования от объектно-ориентированного программирования является вопрос «Кто выполняет работу?»

В Функциональном программировании у вас есть методы, которые выполняют операции над структурами данных.

В объектно-ориентированном программировании идея состоит в том, что сами объекты работают.

ООП в большинстве случаев дает более интуитивную абстракцию проблемы и позволяет проектировать более сложные структуры, назначая роли объектам как игрокам.

Конечно, все это просто куча кода с функциями, вызывающими друг друга. Просто концепция другая.

0 голосов
/ 16 июня 2011

Объекты могут поддерживать внутреннее состояние; они могут выставлять это состояние (через методы доступа) или сохранять его полностью закрытым (как частные переменные). Способность поддерживать состояние, недоступное для любого другого исполнительного устройства, является основным отличием того, что вы описываете, от ООП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...