Другие языки программирования и технологии
Кто-будь доступно может объяснить что же такое Объектно ориентированное программирование?
Искал в поисковиках, но так и не понял в чём же разница с обычным процедурным программированием. Расскажите что же это такое ООП?
Если Вы программировали в 90-ых, представьте себе, сколько всего нужно было написать, чтобы иметь в программе главное меню. Чтобы из него раскрывались вниз пункты меню, и возможно, из тех пунктов тоже что-то еще раскрывалось. Естественно, чтобы каждый пункт меню что-то запускал на выполнение. И т. д. Представили? Так вот, в ООП Вам сразу дают в руки объект "меню", который уже все умеет, все уже написано, понимаете, вам нужно только ввести конкретные названия пунктов и указать, что они будут запускать.
То есть, нет нужды отвлекаться на технические детали и можно заняться собственно задачей, которую надо решить. Вот.
То есть, нет нужды отвлекаться на технические детали и можно заняться собственно задачей, которую надо решить. Вот.
Nurgali Imekov
То есть хотите сказать что ООП - это нечто похожее на использование библиотек?
ООП - это видение мира как совокупность взаимодейтствющих объектов.
Ничего не "висит в воздухе", ничего не существует само по себе. Подпись не появляется на документе, это результат взаимодействия объекта "документ" и объекта "начальник"
Примеры.
1) Надо истребить мышь.
Процедурное программирование: длиннющее описание как достать или изготовить яд, где и как его разместить, какие использовать ловушки, как их настраивать, что делать, если мышь сама умирать никак не желает.. .
ООП: взять (в программировании, конечно потруднее будет, придётся создать) объект "кошка". Ей объяснять уже ничего не надо, у неё все необходимые для выполнения задачи данные и возможности инкапсулированы (внутрь неё помещены при рождении) . Так что остаётся его (объект) только активизировать.
Во многих случаях мы уже не замечаем, как используем готовые (стандартные) объекты. Например, работа в офисных программах - сплошное использование объектов, их свойств и методов.
А вообще - надо просто больше почитать на эту тему. Штука-то непростая, поэтому её в вузах преподают, а не в ПТУ.
Ничего не "висит в воздухе", ничего не существует само по себе. Подпись не появляется на документе, это результат взаимодействия объекта "документ" и объекта "начальник"
Примеры.
1) Надо истребить мышь.
Процедурное программирование: длиннющее описание как достать или изготовить яд, где и как его разместить, какие использовать ловушки, как их настраивать, что делать, если мышь сама умирать никак не желает.. .
ООП: взять (в программировании, конечно потруднее будет, придётся создать) объект "кошка". Ей объяснять уже ничего не надо, у неё все необходимые для выполнения задачи данные и возможности инкапсулированы (внутрь неё помещены при рождении) . Так что остаётся его (объект) только активизировать.
Во многих случаях мы уже не замечаем, как используем готовые (стандартные) объекты. Например, работа в офисных программах - сплошное использование объектов, их свойств и методов.
А вообще - надо просто больше почитать на эту тему. Штука-то непростая, поэтому её в вузах преподают, а не в ПТУ.
Добавлю к посту CrazyTetra пару слов.
Как работает структурный код? Выполняются по очереди какие то инструкции. В нужный момент инструкция говорит: "Дайте мне такие то данные, они мне нужны для дальнейшей работы".Код выполняется дальше и в нужный момент запрашивает на для работы опять какие-то данные.
Как работает ООП-код?
Лежат сгрупированные данные. Кучками (объектами). Они сами описывают, что с ними можно делать и что они умеют делать. Они ждут, когда к ним обратятся. Одна кучка обращается к другой и говорит: "А не сделать ли нам то и то? ".Другая отвечает: "Давай, только я это могу, а это не могу. " Первое я делаю, а второе попроси сделать вон ту кучку (объект). Таким образом уже этими данными ни кто не управляет. Они сами управляют собой, своим поведением и выполнением своего кода. В структурном программировании данными управляет внешний код, который к этим данным ни какого отношения не имеет.
Таким образом:
структурное программирование-код упраляет данными
ооп-данные управляют кодом
Как работает структурный код? Выполняются по очереди какие то инструкции. В нужный момент инструкция говорит: "Дайте мне такие то данные, они мне нужны для дальнейшей работы".Код выполняется дальше и в нужный момент запрашивает на для работы опять какие-то данные.
Как работает ООП-код?
Лежат сгрупированные данные. Кучками (объектами). Они сами описывают, что с ними можно делать и что они умеют делать. Они ждут, когда к ним обратятся. Одна кучка обращается к другой и говорит: "А не сделать ли нам то и то? ".Другая отвечает: "Давай, только я это могу, а это не могу. " Первое я делаю, а второе попроси сделать вон ту кучку (объект). Таким образом уже этими данными ни кто не управляет. Они сами управляют собой, своим поведением и выполнением своего кода. В структурном программировании данными управляет внешний код, который к этим данным ни какого отношения не имеет.
Таким образом:
структурное программирование-код упраляет данными
ооп-данные управляют кодом
Объе́ктно-ориенти́рованное или объектное программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов) .
Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т. е. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и связывания) исходного кода на выполнение) .
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
по мне так отличное описание концепции ООП
Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т. е. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и связывания) исходного кода на выполнение) .
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
по мне так отличное описание концепции ООП
Сергей Романов
Да вроде не плохо описано, но всё равно кто вообще не кодил не поймёт я думаю :)
когда видеш обьект, и хочеш чтобы он чего-то сделал, указываеш ему что имеено ему делать по правилам и условиям указаным тобой, и результат проделаной работы тоже требуеш ты, и можеш изпользовать результат для указания другим обьектам новых задач
Похожие вопросы
- Объясните пожалуйста, что такое Объектно ориентированное программирование?
- Конец объектно-ориентированному программированию? Переходим от “черных” ящиков к ”белым” и ”прозрачным” ящикам?
- Объясните что такое объектно-ориентированное программирование просто и понятно, желательно с примерами (с++)
- Объектно-ориентированное программирование. Программа и ее интерфейс.
- Что из себя представляет объектно-ориентированное программирование, как выглядит (своими словами, пожалуйста)?
- Языки объектно-ориентированного программирования общая характеристика?
- Что такое объектно-ориентированное программирование?
- Стоит ли пользоваться Объектно-ориентированным программированием ?
- Чем отличается объектно-ориентированное программирование от обычного?
- Почему объектно-ориентированное программирование провалилось?