Smalltalk в примерах/Основы: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1:
<b>Основы</b>
 
В традиционном программировании, мы начинаем с задачи которую надо решить. Мы обдумываем как разделить проблему на меньшие части, затем каждую часть на ещё меньшие части. На каждой стадии мы думаем о том как <i>сделать</i> текущую часть работы. Прежде чем сделать что-либо надо сделать какую-нибудь одну вещвещь, затем другую, затем ещё другую. Таким образом, мы разделяем и решаем проблему делая акцэнтакцент на том что надо <i>сделать</i>.
 
При объектно-ориентированном подходе, мы снова начинаем с задачи которую надо решить. Затем мы пытаемся представить из каких объектов состоит система, какова их ответственность, и как они взаимодействуют. Мы так жэже разделяем проблему на части, но акцэнтакцент делается на объектах и их взаимодействии.
 
==Объекты==
Строка 9:
Что такое объект? В реальном мире мы можем думать об объектах как о <i>вещах</i>: яблоко, машина, человек, дом. В мире программ мы используем объекты которые моделируют реальный мир, и мы также используем объекты которые делают нашу жизнь проще, такие как поля ввода, текстовые строки, совокупности, числа, файлы, окна, процессы. Главное качество объекта это то что он может иметь имя и может быть отличен от объектов другого типа. Давайте рассмотрим пример ценной бумаги которая продаётся на фондовой бирже.
 
Каковы свойства объекта? Объект обычно содержит некоторую информацию, и он обычно имеет некоторое поведение --- он должен что-то делать. Наш объект ценная бумага содержит информацию: её название, её текущую цену, количество !!!, !!!. Она такжэтакже имеет поведение: она должна давать ответ о новой цэне и она должна накапливать общее количество сделок.
 
Программа Фондовая биржа должна содержать много объектов ценная бумага, по одному на каждую акцию продаваемую на бирже. С объектом можно взаимодействовать посылая ему <i>сообщения</i>. Например, если надо узнать текущую цену акции, пусть это будет <tt>XYZ</tt> акция, надо послать сообщение <tt>цена</tt> объекту акция <tt>XYZ</tt>. В ответ объект акция находит в своих данных текущую цену и возвращает её.