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

Содержимое удалено Содержимое добавлено
→‎Класс как хранилище кода: Выкинул неработающий Latex код для рисунка
Строка 38:
 
Мы не должны писать методы <tt>добавить:</tt> и <tt>первый</tt> дважды, один раз для каждого объекта. Вместо этого мы нуждаемся в механизме для написания кода однажды и использования его для обеих УпорядоченныхСовокупностей. Вот откуда появляется концепция <i>класса</i>. Класс это просто проект или шаблон для того как объект должен выглядеть: какие переменные он содержит и какие сообщения он понимает. Мы определили класс УпорядоченнойСовокупности в котором мы написали код для сообщений <tt>добавить:</tt> и для <tt>первый</tt>. Таким образом вы можете рассматривать класс УпорядоченнаяСовокупность как хранилище для кода который выполняется когда вы посылаете сообщение. Написав код однажды все УпорядоченныеСовокупности (в нашем случае две) могут выполнять его.
 
\begin{figure}[!htb]
\begin{center}
\includegraphics{repository.eps}
\end{center}
\caption{Класс как хранилище кода}
\label{hraniliwe}
\end{figure}
 
Код хранится в <i>методах</i>. Когда объект получает сообщение он выполняет <i>метод</i> с тем же именем. Таким образом мы написали методы и они хранятся в классе. Рисунок~\ref{hraniliwe} показывает пример класса Служащий, показано как класс работает в качестве шаблона и в качестве хранилища кода.
 
<b>А где собственно рисунок?</b>
 
===Класс как фабрика===