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

Slides:



Advertisements
Similar presentations
EXtreme Programming XP Тема 3. XP Пусть есть некоторая информационная система для банков. В качестве основной валюты для расчетов используется доллар,
Advertisements

Chapter 3 DATA: TYPES, CLASSES, AND OBJECTS. Chapter 3 Data Abstraction Abstract data types allow you to work with data without concern for how the data.
Английский язык. Настоящее совершенное длительное время.
ЗАРЯДКА НА АНГЛИЙСКОМ ЯЗЫКЕ.  Зарядка на уроке английского языка может стать самым любимым и веселым занятием для детей, при том, что она проходит исключительно.
ООП Классы. Данные отдельно, методы отдельно struct Node { Node* next; void* data; }; struct List { Node* first; int size; }; void* allocate() { … } void.
Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
ЛОМОНОСОВ И МАТЕМАТИКА. Большое значение Ломоносов придавал математике, рекомендуя широко применять математические методы в других науках. Математику,
R1R2R3R4R5R6R7R1R2R3R4R5R6R7. Аксиома R 1. В пространстве существуют плоскости. В каждой плоскости пространства выполняются все аксиомы планиметрии.
Чернов Михаил 11-3 класс Предвыборная программа 2011г.
Неотрицательное решение задачи Коши. Нередко постановка задачи требует чтобы фазовые переменные принимали лишь неотрицательные значения. Так, в физических.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Стресс и здоровье Презентация Нефёдовой Евгении Николаевны, классного руководителя 9 «Б» класса МОУ СОШ № 30 города Энгельса Саратовской области 2010 год.
Bank ownership and lending behavior Alejandro Micco, Ugo Panizza Politicians and banks: Political influences on government-owned banks in emerging markets.
Определение необходимого уровня запасов на складе.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Директивы OpenMP Юрий Долгов, Дмитрий Шкурко. Optimization of applications for Intel* platforms Синтаксис OpenMP Общий синтаксис OpenMP директив Directive.
Principles of Object-Oriented Software Development The language Smalltalk.
Обзор последних достижений биометрических методов аутентификации РусКрипто 2005.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Особенности Java. Блок static static { } Создание и уничтожение объектов  new – создание объекта  finalyze()
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
Основы цифровой обработки речевых сигналов. Общая схема процесса речеобразования x[n] – дискретные отсчеты сигнала возбуждения y[n] – дискретные отсчеты.
Ввод-вывод в C# Сериализация.
Программирование на стороне сервера. Языки для программирования на стороне сервера Языки программирования: Perl PHP Java Технология Microsoft для использования.
1 Ребенок в Сети. Ребенок играет?
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
Determinants of bank interest margins in Russia: Does bank ownership matter? Zuzana Fungáčová and Tigran Poghosyan Горбачев Е., Мальцева Е., 317 группа.
Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
Деревья и их представление в STL Презентацию подготовила Чиркова Ольга, 2 подгруппа, группа 271ПИ.
Синтаксис языка Java.
Язык Java. JSP..
Пользовательские действия (custom actions) в JSP. JSTL.
Особенности языка JavaScript и его использования.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Маршрут, цепь, цикл Маршрутом называют последовательность вершин и ребер, в которой любые два соседних элемента инцидентны (т.е. соединены). Например:
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: модели систем.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Squeak Collections The Squeak collection hierarchy. Some collection operators. Working with collections. For-loops.
Тема 8. «Векторы на плоскости и в пространстве»
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
«Отгадай символы Рождества»
OAUTHОРИЗАЦИЯ И API СОЦИАЛЬНЫХ СЕТЕЙ Артём Курапов.
CIS Computer Programming Logic
R E F R I G E R A T I O N A N D A I R C O N D I T I O N I N G Блок мониторинга и централизованного управления АK-SM 350.
Алгебра логики это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических.
Saint Petersburg, 2011 Java Lecture Generics. Quiz ArrayList lst = new ArrayList(); Collection c = lst; lst.add("one"); lst.add(“two"); lst.add(“three");
Question 1a) What is printed by the following Java program? int s; int r; int i; int [] x = {4, 8, 2, -9, 6}; s = 1; r = 0; i = x.length - 1; while (i.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
Рассмотрим более подробно работу управляющей компоненты. В ЭС используются нетрадиционные методы управления. Это вызвано неформализованностью решаемых.
Микропроцессорные системы Программирование INTEL 8086 Системная программа Debug.
Microsoft TechDays Сергей Звездин
What do you think of popular thing?
Anekdot ANDROID CLUB Сегодня  Navigation Drawer  CardView  Calligraphy  TextToSpeech.
A: A: double “4” A: “34” 4.
 Variables can store data of different types, and different data types can do different things.  PHP supports the following data types:  String  Integer.
Welcome Travelling to English Land Rules. ABCDEFG Board Game.
ТЕНДЕНЦИИ КАТЕГОРИИ «СНЕКИ» Товарная категория «снеки» для нашей страны довольно новое явление, особенно по сравнению с западными странами. Тем не менее,
JavaScript
Review Operation Bingo
نوع داده هاي انتزاعي Abstract Data Types
Introduction to Smalltalk
C# Revision Cards Data types
CSE 3302 Programming Languages
Smalltalk on a Dime.
10 интересных фактов о Японии и Японцах. В состав Японии входит островов. При этом четыре наиболее крупных из них - Кюсю, Хонсю, Хоккайдо и Сикоку,
Presentation transcript:

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

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

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

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

Синтаксис 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}#( ) a[10]a at: 10

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

Иерархия классов 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