Объектно-ориентированное программирование.Язык Смолток



             

Основные понятия языка Смолток - часть 2


Объекты с одинаковыми свойствами и поведением объединены в классы, причем каждый объект входит в один класс и называется экземпляром класса. Объекты одного класса обладают одинаковым протоколом методов. Экземпляры отличаются друг от друга именами и состояниями.

Таким образом, объекты имеют различные свойства, и эти свойства определяются тем, какие сообщения может получать объект. Описание совокупности сообщений, которые может получать объект, называют его спецификацией. Спецификация объекта, зарегистрированная в системе, представляет собой класс, и классы также являются объектами.

Существует множество объектов, соответствующих спецификации одного и того же класса. Таким образом, в окружающем мире существуют объекты, называемые классами, а также объекты - экземпляры классов:

Чтобы создать объект, классу посылается сообщение о создании нового экземпляра. Класс создает экземпляр с присущей всем объектам этого класса структурой - набором переменных экземпляра. Если нужно, он их инициализирует и выдает созданный экземпляр в качестве ответа на сообщение.

Классы в Смолтоке организованы иерархически, в виде дерева. Каждый класс имеет одного предка, называемого суперклассом, и может иметь несколько потомков, называемых подклассами. Всякий класс наследует переменные экземпляра и методы своего суперкласса. Кроме того, он может содержать новые переменные экземпляра и методы, может переопределять унаследованные.

Знание иерархии классов важно для понимания процесса выдачи ответа на сообщение. При получении сообщения объект ищет в своем классе метод с именем, совпадающим с именем сообщения. Если такого метода нет, объект ищет его в списке методов суперкласса и так далее. Когда метод обнаружен, он выполняется и выдает ответ. Если нигде, вплоть до корня дерева, метод не будет обнаружен, выдается ответ с сообщением об ошибке.




Содержание  Назад  Вперед