Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемrema44.ru
1 Объектно-ориентированное программирование Язык Смолток Карпов В.Э.
2 ООП Смолток2 Оргвопросы Структура курса: 1.SmallTalk 2.C++ Лабораторные работы (SmallTalk) Экзаменационная (зачетная) программа (С++, SmallTalk)
3 ООП Смолток3 Полезные ресурсы Объектно-ориентированное программирование Карпов В.Э. Методические указания по выполнению лабораторных работ по языку Смолток, Москва:, 2006Карпов В.Э. Методические указания по выполнению лабораторных работ по языку Смолток, Москва:, 2006 Карпов В.Э. Требования к экзаменационной программе по курсу ООП, 2006Карпов В.Э. Требования к экзаменационной программе по курсу ООП, 2006 Карпов В.Э. Учебное пособие по языку Смолток, Москва: МГИЭМ, 2006, -45с.Карпов В.Э. Учебное пособие по языку Смолток, Москва: МГИЭМ, 2006, -45с. Прочие полезные вещи Карпов В.Э. Об оформлении программной документацииКарпов В.Э. Об оформлении программной документации
4 ООП Смолток4 История Смолтока Начало 70-х гг., Исследовательский центр автоматизации учрежденческого труда ПАРС в Пало-Альто (Калифорния, США), фирма "Ксерокс" (Xerox). В основе - идеи языка Simula, и исследования Алана Кея (Alan Kay): Создание однородной объектно-ориентированной среды программирования, основанной на малом числе взаимосвязанных понятий г. Выход на рынок системы Смолток-72 (АРМ "Ксерокс«). Цель - создание системы программирования для эффективной связи человека с машиной. АРМ ALTO (1973) система STAR ("Ксерокс) система McIntosh (Apple) Характеристики системы ALTO: Графический дисплей с побитовым отображением в память. Разрешение - 600x800 точек. Независимое управление яркостью каждой точки. Представление как символов, так и графических изображений. Многочисленные редакторы и устройства машинной графики. Управление курсором с помощью манипулятора типа "мышь". Cеть Ethernet. Xerox Star Xerox Alto
5 ООП Смолток5 Что такое Смолток Смолток – это язык, основанный на небольшом числе простых понятий, каждое из которых определяется в терминах остальных. Смолток – это язык программирования, являющийся основой создания мощной информационной системы, в которой пользователь может хранить, получать и обрабатывать информацию так, что система развивается и расширяется вместе с развитием представлений и требований пользователя к системе. Смолток – это графическая, интерактивная среда программирования, включающая поддержку визуального языка для представления каждого объекта. Смолток – это система, объекты которой обеспечивают функции, присущие операционным системам: –управление памятью и файловой системой, –управление внешними устройствами, –управление и планирование процессов, –компиляция и т.д.
6 ООП Смолток6 Смолток-система
7 ООП Смолток7 Предпосылки появления Смолтока Классические процедурные языки (Алгол, Кобол, Фортран). Ориентация на численные вычисления. Новые задачи: Обработка символьных данных Моделирование Необходимость введения понятия объекта. Объекты надо уметь представлять и «вычислять».
8 ООП Смолток8 Понятие объекта Объект - основная конструкция в ООП. В качестве объектов могут выступать программистские абстракции (числа, символы, файлы, и т.д.) или сущности моделируемой предметной области и их взаимосвязь. Объект содержит и процедурную, и понятийную части "объект=данные+процедуры". При этом объекты взаимодействуют друг с другом, посылая и принимая сообщения.
9 ООП Смолток9 Предыстория 1.Работы М.Минского, 60-е гг., концепция фреймов для представления знаний. Фрейм - это то минимальное описание, которое еще сохраняет сущность описываемого явления. С программной точки зрения фрейм содержит как данные (слоты), так и процедуры (демоны), вызываемые при манипулировании данными. 2.Симула-67. Язык моделирования (Норвегия, Кристен Нюгорд и Оле- Йохан Даль). Синтаксис основан на языке Алгол-60. Описание «класс» (class) и наследование. В каком-то смысле это - объектное расширение Algol Смолток. Алан Кей. Начало 70-х гг. (Смолток-72 и т.д.) 4.Objective-C. Введение объектно- ориентированных конструкций в язык C. 5.С++
10 ООП Смолток10 Основные понятия языка Смолток Объект, класс, сообщение и метод. Объект обладает собственной памятью (переменные экземпляра), где хранится информация о его свойствах и состоянии. Доступ к указанной информации имеет только сам этот объект. Методы. Объект обладает множеством процедур, описывающих поведение объекта – набором методов - операций для манипулирования хранящейся в объекте информацией. Метод состоит из операций над своими переменными экземпляра и из посылок сообщений другим объектам. В конечном счете метод должен выдать ответ на посланное объекту сообщение. Сообщения. Для активизации метода объекту посылается сообщение (аналог вызова процедур). Протокол. С каждым объектом связан протокол сообщений, которые он понимает. Всякому сообщению из протокола соответствует реализующая его процедура (метод). Сообщение x f Объект x
11 ООП Смолток11 Синтаксис языка Три оператора: посылка сообщения, выдача ответа и присваивание значения переменной. Посылка сообщения (подлежащее – сказуемое - дополнение): объектПолучатель имяСообщения [объектыАргументы] Например: а – 3объекту "а" посылается сообщение с именем "-" и аргументом 3; 5 factorialобъекту 5 посылается сообщение с именем "factorial"; table inPos: 5 locate: 7объекту "table" посылается сообщение с именем "inPos: locate:" и аргументами: 5 и 7.
12 ООП Смолток12 Объекты «сами по себе» Проблема: много «похожих» объектов
13 ООП Смолток13 Классы Объекты с одинаковыми свойствами и поведением объединены в классы Каждый объект входит в один класс и называется экземпляром класса. Объекты одного класса обладают одинаковым протоколом методов. Экземпляры отличаются друг от друга именами и состояниями. Свойства объектов определяются тем, какие сообщения может получать объект. Описание совокупности сообщений, которые может получать объект, называют его спецификацией. Спецификация объекта, зарегистрированная в системе, представляет собой класс, и классы также являются объектами.
14 ООП Смолток14 Все есть суть объект. Не бывает внеклассовых объектов Чтобы создать объект, классу посылается сообщение о создании нового экземпляра. Классы в Смолтоке организованы иерархически. Суперклассы и подклассы. Наследование. Классы – тоже объекты
15 ООП Смолток15 Задание классов Объявление класса - регистрация спецификации экземпляра класса и спецификации самого класса Спецификация экземпляра - объявление переменных экземпляра и объявления методов экземпляра. Спецификация класса - объявление переменных класса и объявления методов класса. Экземпляры одного класса распознают одни и те же сообщения и имеют одинаковую структуру собственной памяти. У каждого класса существует два типа методов: методы класса (добавить к классу новый экземпляр); методы экземпляра. Объявление метода экземпляра: схема сообщения и тело метода.
16 ООП Смолток16 Иерархия Схема обработки сообщения При получении сообщения объект ищет в своем классе метод с именем, совпадающим с именем сообщения. Если такого метода нет, объект ищет его в списке методов суперкласса и т.д. Когда метод обнаружен, он выполняется и выдает ответ. Если нигде, вплоть до корня дерева, метод не будет обнаружен, выдается ответ с сообщением об ошибке. d D d f3 d f2 d f1 d f4
17 ООП Смолток17 Сообщения Сообщение с унарным селектором stack pop stack – объект-получатель сообщения pop – унарный селектор. Бинарный селектор x+y x – получатель сообщения, +y – сообщение y – параметр, "+" - бинарный селектор. Селектор с ключевыми словами pen move:east by:10
18 ООП Смолток18 Приоритеты Унарное сообщение имеет более высокий приоритет, чем бинарные. Приоритет может задаваться скобками. x - y size = x - (y size). Интерпретация сообщений а)"1–2", б)"1 –2" в)"1– 2" и г)"1+(–2)"
19 ООП Смолток19 Примеры сообщений
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.