Presentation is loading. Please wait.

Presentation is loading. Please wait.

Язык SmallTalk «Чистый» объектно- ориентированный язык.

Similar presentations


Presentation on theme: "Язык SmallTalk «Чистый» объектно- ориентированный язык."— Presentation transcript:

1 Язык SmallTalk «Чистый» объектно- ориентированный язык

2 Основные принципы Объекты и сообщения  Объект - компонент системы. Каждый объект состоит из некоторой принадлежащей ему памяти и множества операций, таким образом объединяя в себе (инкапсулируя) и данные и операции по их обработке.  Сообщение - запрос к объекту выполнить одну из операций. Сообщение определяет, какая требуется операция, но не определяет как эта операция должна выполняться. Только получатель - объект, которому послано сообщение, определяет, как выполнять требуемую операцию. Классы и экземпляры  Класс описывает реализацию множества объектов, которые представляют подобные компоненты системы.  Отдельные объекты, описываемые классом, называются его экземплярами. Именно класс описывает структуру памяти своих экземпляров, которая представляется множеством переменных, и то, как экземпляры выполняют посланные им сообщения, то есть описывают методы, определяющие как выполнить операцию, затребованную соответствующим сообщением.  Каждая переменная в принадлежащей объекту памяти ссылается на некоторый объект, называемый значением этой переменной. Классы и Метаклассы  Всё есть объекты т.е. экземпляры некоторых классов, значит сами классы – тоже экземпляры некоторых классов. Класс, экземпляры которого сами являются классами называется метаклассом.  Каждый класс является единственным экземпляром своего собственного метакласса и, всякий раз, когда создается новый класс, для него автоматически создается новый метакласс.

3 Переменные Существуют два вида частных переменных, доступных только одному объекту. 1.Переменные экземпляра - существуют в течение всего времени жизни объекта. 2.Временные переменные - создаются для некоторого действия и доступны только во время этого действия. Три других вида переменных доступны более чем одному объекту и называются общими переменными. Они различаются по тому, насколько широко они доступны объектам системы. 3.Переменные класса - доступны всем экземплярам данного класса. 4.Глобальные переменные - доступны всем экземплярам всех классов (то есть всем объектам системы). 5.Переменные пула - доступны экземплярам некоторого подмножества классов системы.

4 Особенности синтаксиса  Всё делается через посылку сообщений: x + y объекту x посылается сообщение + с аргументом y Наиболее естественна постфиксная запись  Невычисляемые операторы (блоки) [ … ]

5 Синтаксис Java и SmallTalk int a; float b; | a b | a = 5; // assigna := 5 "assign" object.getField();object getField object.getItem(10);object getItem: 10 'h'$h "string"'string' "a" + "b"'a','b' thisself nullnil return x;^ x new Object;Object new {1, 2, 3, 4, 5}#(1 2 3 4 5) a[10]a at: 10

6 Управляющие конструкции через посылку сообщений  Проверка условий: parity := (number \\ 2) = 0 ifTrue: [0] ifFalse: [1]  Применение блока к массиву: |sum| sum := 0. #(2 3 5 7 11) do: [:pr | sum := sum + (pr*pr)]

7 Иерархия классов Object Stream Magnitude PositionabIe5tream Character ReadStream Date WriteStream Time ReadWriteStream Number ExternalStrea, Float FileStream Fraction Random Integer Boolean LargeNegativelnteger False LargePositivelnteger True SmallInteger ProcessorScheduler LookupKey Delay Association SharedQueue Collection Behavior SequenceableCollection ClassDsscription LinkedList Class Semaphore MetaClass ArrayedCollection BitBlt Array CharacterScanner WordArray Pen DisplayBitmap DisplayObject RunArray DisplayMedium String Form Symbol Cursor Text DisplayScreen ByteArray InfiniteForm Interval OpaqueForm OrderedCollection Path SortedCollection Arc Bag Circle MappedCollection Curve Dictionary Line IdentityDictionary LinearFit Point Spline Rectangle UndefinedObject


Download ppt "Язык SmallTalk «Чистый» объектно- ориентированный язык."

Similar presentations


Ads by Google