В чем разница между C & C # на основе концепций ООП? - PullRequest
0 голосов
/ 23 августа 2010

В чем разница между C & C # на основе концепций ООП?

Ответы [ 7 ]

9 голосов
/ 23 августа 2010

Разница заключается в поддержке этих концепций ООП. C не поддерживает концепции ООП, в то время как C # поддерживает.

2 голосов
/ 23 августа 2010

C, как сам язык, не поддерживает концепции программирования ОО. Но это не делает невозможным их использование. Если вы полны решимости и имеете веские основания для использования объектно-ориентированного подхода к программированию на C (вместо, например, C ++), вы можете это сделать.

Конечно, вы не можете достичь многих функций языков более высокого уровня без широкого использования препроцессора, что не очень хорошая идея, поскольку может быть изобретено колесо (в большинстве случаев не очень круглое колесо), но основные концепции ОО, такие как наследование и полиморфизм достижимы довольно простым способом, используя массивы указателей на функции, элементы структуры «базовый тип» в структуре «подтип» и т. д.

2 голосов
/ 23 августа 2010

Вы действительно имеете в виду C или C ++? C не является языком ООП. Я думаю, что достаточно разницы.

2 голосов
/ 23 августа 2010

В С. нет ООП.

C ++ добавляет поддержку объектно-ориентированного программирования в C. C # - это совершенно другое поколение языков. Он был построен, чтобы делать ОО с нуля (все является объектом).

Итак, как прокомментировал Dreamlax, он сравнивает яблоки и апельсины.

1 голос
/ 23 августа 2010

C использует структурированное программирование, в то время как объектная ориентация c #.

1 голос
/ 23 августа 2010

C # - это язык CIL, OOP, разработанный для Microsoft, C - нет.

0 голосов
/ 24 марта 2018

в объекте класса c # требуется для вызова функции. Но в объекте c не требуется для вызова функции.

...