Почему C не ООП, если он имеет структуры - PullRequest
1 голос
/ 02 ноября 2011

Сделав немного C ++, я заметил, что в C также есть структуры - конечно, C следует считать ООП, если они есть?

Ответы [ 3 ]

5 голосов
/ 02 ноября 2011

Поскольку он не имеет некоторых основных функций ООП:
Наследование
Полиморфизм и т. Д.

4 голосов
/ 02 ноября 2011

Из Википедии:

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

В C данные и методы (функции) отделены друг от друга.В C нет таких «объектов», как описано выше.

В C ++ и Objective-C они не разделены.

2 голосов
/ 02 ноября 2011

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

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