Брюс Эккель - Философия java
Название: | Философия java | |
Автор: | Брюс Эккель | |
Жанр: | Учебники и самоучители по компьютеру, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Java, Java Script | |
Изадано в серии: | java | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Философия java"
Введите сюда краткую аннотацию
Читаем онлайн "Философия java". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (144) »
Альтернативой моделированию машины является моделирование решаемой задачи. Ранние языки, подобные LISP и APL, выбирали особый подход к моде¬лированию окружающего мира («Все задачи решаются списками» или «Алго¬ритмы решают все» соответственно). PROLOG трактует все проблемы как це¬почки решений. Были созданы языки для программирования, основанного на сис¬теме ограничений, и специальные языки, в которых программирование осуще¬ствлялось посредством манипуляций с графическими конструкциями (область применения последних оказалась слишком узкой). Каждый из этих подходов хорош в определенной области решаемых задач, но стоит выйти из этой сферы, как использовать их становится затруднительно.
Объектный подход делает шаг вперед, предоставляя программисту средства для представления задачи в ее пространстве. Такой подход имеет достаточно общий характер и не накладывает ограничений на тип решаемой проблемы. Элементы пространства задачи и их представления в пространстве решения на¬зываются «объектами». (Вероятно, вам понадобятся и другие объекты, не имеющие аналогов в пространстве задачи.) Идея состоит в том, что програм¬ма может адаптироваться к специфике задачи посредством создания новых ти¬пов объектов так, что во время чтения кода, решающего задачу, вы одновремен¬но видите слова, ее описывающие. Это более гибкая и мощная абстракция, превосходящая по своим возможностям все, что существовало ранее . Таким
Развитие абстракции 19
образом, ООП позволяет описать задачу в контексте самой задачи, а не в кон¬тексте компьютера, на котором будет исполнено решение. Впрочем, связь с компьютером все же сохранилась. Каждый объект похож на маленький ком¬пьютер; у него есть состояние и операции, которые он позволяет проводить. Та¬кая аналогия неплохо сочетается с внешним миром, который есть «реальность, данная нам в объектах», имеющих характеристики и поведение.
Алан Кей подвел итог и вывел пять основных черт языка Smalltalk — перво¬го удачного объектно-ориентированного языка, одного из предшественников Java. Эти характеристики представляют «чистый», академический подход к объектно-ориентированному программированию:
• Все является объектом. Представляйте себе объект как усовершенство¬ванную переменную; он хранит данные, но вы можете «обращаться с за¬просами» к объекту, требуя у него выполнить операции над собой. Теоре¬тически абсолютно любой компонент решаемой задачи (собака, здание, услуга и т. п.) может быть представлен в виде объекта.
• Программа — это группа объектов, указывающих друг другу, что де¬лать, посредством сообщений. Чтобы обратиться с запросом к объекту, вы «посылаете ему сообщение». Более наглядно можно представить сооб¬щение как вызов метода, принадлежащего определенному объекту.
• Каждый объект имеет собственную «память», состоящую из других объектов. Иными словами, вы создаете новый объект с помощью встраи¬вания в него уже существующих объектов. Таким образом, можно сконст¬руировать сколь угодно сложную программу, скрыв общую сложность за простотой отдельных объектов.
• У каждого объекта есть тип. В других терминах, каждый объект являет¬ся экземпляром класса, где «класс» является аналогом слова «тип». Важ¬нейшее отличие классов друг от друга как раз и заключается в ответе на вопрос: «Какие сообщения можно посылать объекту?»
• Все объекты определенного типа могут получать одинаковые сообще¬ния. Как мы вскоре убедимся, это очень важное обстоятельство. Так как объект типа «круг» также является объектом типа «фигура», справедливо утверждение, что «круг» заведомо способен принимать сообщения для «фигуры». А это значит, что можно писать код для фигур и быть уверен¬ным в том, что он подойдет для всего, что попадает под понятие фигуры. Взаимозаменяемость представляет одно из самых мощных понятий ООП.
Буч предложил еще более лаконичное описание объекта:
Объект обладает состоянием, поведением и индивидуальностью.
Суть сказанного в том, что объект может иметь в своем распоряжении внут¬ренние данные (которые и есть состояние объекта), методы (которые опреде¬ляют поведение), и каждый --">- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (144) »
Книги схожие с «Философия java» по жанру, серии, автору или названию:
Ильдар Шаукатович Хабибуллин - Java 7 Жанр: Java, Java Script Год издания: 2012 Серия: В подлиннике |
Лео Броуди - Способ мышления - Форт: Язык и философия для решения задач Жанр: Forth Год издания: 1993 |