А кто-нибудь может привести пример простого кода (или алгоритма, если достаточно) для того, что бы показать различия с использованием ООП и без?
Например, какая-нибудь работа с файлом, если можно.
FiEctro писал: Смешно. Как их выводить с помощью printf. Вроде даже у тебя спрашивал.
ты спрашивал про то как их раскрасить.
Цитата:
qpAHToMAS писал: хм, т.е. это больше стиль программирования, нежели фишка ЯП?
ну поскольку большинство вообще плохо понимает, что такое ООП - вон в посту ниже вывод текста почему-то выдается за ООП.
Хотя это всё равно что сравнить ежа и фтуболку. http://ru.wikipedia.org/wiki/Объект...рограммирование
Смысл объектно-ориентированного программирования в том, чтобы оперировать некими объектами. Это необязательно классы, в том же Си роль объектов выполняют структуры, а имена функций, относящихся к этой структуре начинаются с определенного префикса.
Нунапример кастомная файловая система: имеет некий универсальный объект file_t, который может быть объявлен только в самом файле описания файловой, а в остальных местах представлен необъявленной структурой, или проще говоря void*. Это типичный случай дата-хидинга.
Ну или создания приватных членов структуры на Си. Вы спросите, а можно ли в такой структуре объявить публичные переменные?
Да легко! Верхнюю часть переменных мы объявляем везде, а нижнюю, приватную прячем внутри собственно файла, описывающего методы работы с объектом. Наглядный пример: cvar_t в ксаше. В сдк в структуре cvar_t 5-6 переменных, а в движке их 12.
Теперь про методы: в С++ конечно с этим проще: там можно объявлять методы непосредственно внутри класса, получая к ним доступ автоматически и попутно решая проблему с пространством имен.
В Си это придется делать вручную. Так, например, возвращаясь к вышеупомянутому file_t - для него существует набор методов, начинающийся с префикса FS_.
Вообщем-то все кваки юзают ООП в той или иной мере.
Вот взять те же эдикты
Добавлено 08-10-2010 в 12:13:
Или тот самое место где лифы превращаются в ноды и наоборот