Другие языки программирования и технологии
Так в чём всё же разница между ОО и процедурными языками? (комментарий внутри)
PHP 5 является объектно-ориентированным, но на нём можно кодить и не прибегая к принципам ООП, просто ваять код в файле и через include использовать его как процедуры (сам так делал). Pascal не является ОО-языком, но в нём есть такое понятие как класс (по крайней мере в последних версиях). И в чём же тогда разница?
в процедурных языках для устранения сложности задачи используется функциональная и/или структурная декомпозиция, а в объектно-ориентированных можно использовать объектную декомпозицию. реализация ооп не обязательно завязана на классы. в том же javascript используется утиная типизация, прототипирование и нет никаких классов.
декомпозиция программ - сложная и объёмная дисциплина, объяснять её на пальцах не могу и не собираюсь. скажу только, что при функциональной декомпозиции система рассматривается как набор данных, гоняемых из одной подсистемы в другую, а при объектной - как набор взаимодействующих объектов. так что это ваше ооп - не хухры-мухры :)
декомпозиция программ - сложная и объёмная дисциплина, объяснять её на пальцах не могу и не собираюсь. скажу только, что при функциональной декомпозиции система рассматривается как набор данных, гоняемых из одной подсистемы в другую, а при объектной - как набор взаимодействующих объектов. так что это ваше ооп - не хухры-мухры :)
в ООП есть понятие класс и они под него заточены) )
попробуй написать класс в С (не в С++, а именно в С) -- стиль сильно изменяется когда классы есть
а в ООП-ориентированном вполне можно писать и не используя объекты -- вопрос оптимальности в конкретной ситуации
попробуй написать класс в С (не в С++, а именно в С) -- стиль сильно изменяется когда классы есть
а в ООП-ориентированном вполне можно писать и не используя объекты -- вопрос оптимальности в конкретной ситуации
Класс - просто набор связанных переменных. Объект - набор связанных переменных, которые могут быть закрыты или открыты для других объектов. Одни объекты могут быть родителями или потомками других.
Сергей Зырянов
И как этот ответ относится к моему вопросу? Я как бы не спрашивал, что такое объект и класс, это я и сам знаю, и не только в теории.
>Pascal не является ОО-языком, но в нём есть такое понятие как класс (по крайней мере в последних версиях) .
В основном стандарте Pascal'я нету такого понятия как `класс'. ООП в паскале - это всего лишь особенность некоторых его реализаций.
В основном стандарте Pascal'я нету такого понятия как `класс'. ООП в паскале - это всего лишь особенность некоторых его реализаций.
Разница в том, что объектно ориентированные языки ПОДДЕРЖИВАЮТ парадигмы ООП, а процедурные не поддерживают.
Поскольку исторически языки двигались от "процедурности" к поддерже ООП, практически любой ОО-язык сейчас является надмножетвом того же языка, но без классов.
Поскольку исторически языки двигались от "процедурности" к поддерже ООП, практически любой ОО-язык сейчас является надмножетвом того же языка, но без классов.
Сергей Зырянов
Ну прям вообще всё стало ясно :) По-подробнее можно? Лучше бы на примере, пусть и абстрактном. Что такое инкапсуляция, наследование и полиморфизм - в курсе (причём не только в теории). Паскалевские классы этого не поддерживают чтоли?
Сергей Зырянов
То, что современные языки за рога тянут в ООП - это верно. Но принцип ООП зародился как самостоятельный. И были языки (увы, не помню, какие именно) которые сразу же были построены как ОО, а не преобразованы из процедурных.
Похожие вопросы
- какой это язык( см. внутри)
- Разница между языками программирования в работе компилятора?
- В чем разница между процедурным программирование и объектно-ориентированным?
- Программирование. Языки, в чем разница?
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Какой язык программирования выбрать для изучения для начинающего ? (внутри)
- опрос по языкам програмирования кто работает програмистами и пишет программа ответьте на вопрос внутри
- Подскажите лучший язык.. Внутри критерии.
- А вот правельно ли я думают о языках программированиях? И каквообще делают?? (см.внутри)
- Необходимо консультация по реальности проекта, и выбору языка программирования для реализации нейросети. Подр. и внутри.