LINUX.ORG.RU

Что такое ООП

 ,


1

2

тут недвно был тред, что такое ооп, чем оно отличается от не-ооп, бла-бла-бла. Так ничего и не выяснилось толком.

Конечно, можно все-таки выделить характерную черту ООП — это семантика передачи сообщений. Остальное все в тумане...

Почему такой, казалось бы простой вопрос не имеет однозначного ответа?

Потому что ответ лежит на поверхности, поэтому его никто не видит.

Ответ заключается в том, что любая другая парадигма — есть частный случай ООП, в том смысле, что может быть выражена в терминах ООП, но не наооборот. Само название ООП тут не слишком удачно, кстати, поскольку объект в ООП — это скорей субъект. Карл Хьюитт придумал гораздо более подходящее название — акторы.

Именно в этом и кроется разгадка того, почему так трудно отделить ООП от иных парадигм.

Простой пример. Возьмем подстановочную модель, ака ФП. Центральным объектом данной парадигмы является функция. С точки зрения ООП, функция — это актор. Например, у нас есть функция, которая имеет такой вид sum(1, 2) // 3 Мы могли бы выразить это как-то так

Sum = new Function
Sum.code = a + b
theSum = new Sum 
theSum.setArguments(a: 1, b: 2)
theSum.call

Это некоторая декомпозиция, которая нам показывает, что функция — это просто сахар объекта.

То есть, грубо говоря, если мы берем некоторую полноценную ООП/Акторную семантику, и ограничиваем ее выразительные возможности, мы получаем на выходе другую парадигму. Такие вот дела:)



Последнее исправление: somequest (всего исправлений: 1)
Ответ на: комментарий от jtootf

Кстати, можно ссыклу на публикацию? (Мне честно признаться лень выискивать.)

PS: уже увидел, комментом выше.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)

Опять ты таблетки не принимаешь.

anonymous
()
Ответ на: комментарий от monk

который для тех, у кого мозг в отличие от разработчиков микросхем, не умеет думать широко, он умеет «думать» только в тех рамках, в которых тебе позволили.

Этим и отличаются инженеры (которые разрабатывают компьютеры) и макаки, который на них программируют. Все просто.

Инженеры — это те, которые думают только в рамках, которые им позволила эта ваша физика? =)

korvin_ ★★★★★
()
Ответ на: комментарий от korvin_

Инженеры — это те, которые думают только в рамках, которые им позволила эта ваша физика? =)

А так же математика, биология, химия и прочие достойные дисциплины. Это плохо?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Пока что только ты отозвался об этом насмешливо.

Я задал уточняющий вопрос. Кстати, даже не тебе. Если ты не можешь понять причину этого вопроса, то это не мои проблемы.

korvin_ ★★★★★
()
Ответ на: комментарий от korvin_

Пока что только ты отозвался об этом насмешливо.

Я задал уточняющий вопрос

Одно совсем не исключает другого.

Кстати, даже не тебе.

Когда вопрос задан в открытом форуме, на него может ответить любой. Если ты не можешь понять этого, то это не мои проблемы.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Когда вопрос задан в открытом форуме, на него может ответить любой.

Ага. Только ты ещё стал тупить и докапываться, причём совершенно мимо кассы. Ну да ладно.

korvin_ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.