Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Те, кто ругают ООП, не предлагают взамен более достойной альтернативы. 14.11.04 15:07 Число просмотров: 3797
Автор: Den <Denis> Статус: The Elderman
|
Так, или иначе программисты всегда использовали то, что сейчас называется объектом. Я имею ввиду множество экземпляров структур данных (объекты), над которыми производились идентичные операции (методы объектов), и рождение ООП было предрешено как наиболее отвечающее принципам программирования. Конечно, некоторые детали концепции ООП требуют пересмотра, но не в коем случае не упразднения всей концепции в целом.
Известно, что объекты не содержат таблицы статических функций и если объект не использует другие типы функций, то в памяти он выглядит как обычная структура данных и лишь компилятор и разработчик знает где структура, а где объект; где функция, а где метод объекта.
По поводу черного ящика.
Куда не ткнись, везде один большой "черный ящик". ОС, SQL сервер, файловая система и т.д., для прикладного программиста - "черный ящик". Разница лишь в том, что для этих "черных ящиков", обычно, совершенно четко задана область применения, выражаясь математическим языком - "Область Определения Функции", а также есть достаточно подробное описание интерфейса с примерами. Если подобным образом описывать все классы объектов, то прикладному программисту не понадобиться заглядывать в черный ящик. Ведь вряд ли кому-либо из прикладных программистов придет в голову изучать код MS OLEDB, только потому, что он не знает как это все работает.
Могу сказать по своему опыту, что даже когда пишу на ассемблере, то некоторые вещи мне проще и удобнее реализовывать некоторым подобием объектов, так как это сокращает мне время разработки, позволяет качественно повысить потенциал использования кода в дальнейшем без внесения существенных изменений, сократить объем готового приложения и многое другое.
|
|
|