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

Презентация:



Advertisements
Похожие презентации
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Advertisements

Методология объектно- ориентированного программирования.
Основы объектно-ориентированного программирования (ООП)
Объектно-ориентированное программирование С++. Лекция 6 Карпов В.Э.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Технология хранения, поиска и сортировки информации в базах данных
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
БАЗА ДАННЫХ – ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ ТЕХНОЛОГИЯ ИСПЛЬЗОВАНИЯ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ.
Системы управления базами данных СУБД является универсальным программным средством предназначенным для создания и ведения(обслуживания) баз данных на внешних.
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
1 Диаграммы реализации (implementation diagrams).
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
ВИДЫ МОДЕЛЕЙ ДАННЫХ. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Модуль 1. Математические основы баз данных и знаний.
EPAM Systemswww.epam.com EPAM Systemswww.epam.com Программирование на языке C# Основы ООП.
Теория экономических информационных систем Семантические модели данных.
Алгоритмический подход – главное алгоритм решения задачи ( в основном, используется для вычислительных задач ); Структурное программирование – декомпозиция,
Транксрипт:

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

ООП Смолток2 Оргвопросы Структура курса: 1.SmallTalk 2.C++ Лабораторные работы (SmallTalk) Экзаменационная (зачетная) программа (С++, SmallTalk)

ООП Смолток3 Полезные ресурсы Объектно-ориентированное программирование Карпов В.Э. Методические указания по выполнению лабораторных работ по языку Смолток, Москва:, 2006Карпов В.Э. Методические указания по выполнению лабораторных работ по языку Смолток, Москва:, 2006 Карпов В.Э. Требования к экзаменационной программе по курсу ООП, 2006Карпов В.Э. Требования к экзаменационной программе по курсу ООП, 2006 Карпов В.Э. Учебное пособие по языку Смолток, Москва: МГИЭМ, 2006, -45с.Карпов В.Э. Учебное пособие по языку Смолток, Москва: МГИЭМ, 2006, -45с. Прочие полезные вещи Карпов В.Э. Об оформлении программной документацииКарпов В.Э. Об оформлении программной документации

ООП Смолток4 История Смолтока Начало 70-х гг., Исследовательский центр автоматизации учрежденческого труда ПАРС в Пало-Альто (Калифорния, США), фирма "Ксерокс" (Xerox). В основе - идеи языка Simula, и исследования Алана Кея (Alan Kay): Создание однородной объектно-ориентированной среды программирования, основанной на малом числе взаимосвязанных понятий г. Выход на рынок системы Смолток-72 (АРМ "Ксерокс«). Цель - создание системы программирования для эффективной связи человека с машиной. АРМ ALTO (1973) система STAR ("Ксерокс) система McIntosh (Apple) Характеристики системы ALTO: Графический дисплей с побитовым отображением в память. Разрешение - 600x800 точек. Независимое управление яркостью каждой точки. Представление как символов, так и графических изображений. Многочисленные редакторы и устройства машинной графики. Управление курсором с помощью манипулятора типа "мышь". Cеть Ethernet. Xerox Star Xerox Alto

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

ООП Смолток6 Смолток-система

ООП Смолток7 Предпосылки появления Смолтока Классические процедурные языки (Алгол, Кобол, Фортран). Ориентация на численные вычисления. Новые задачи: Обработка символьных данных Моделирование Необходимость введения понятия объекта. Объекты надо уметь представлять и «вычислять».

ООП Смолток8 Понятие объекта Объект - основная конструкция в ООП. В качестве объектов могут выступать программистские абстракции (числа, символы, файлы, и т.д.) или сущности моделируемой предметной области и их взаимосвязь. Объект содержит и процедурную, и понятийную части "объект=данные+процедуры". При этом объекты взаимодействуют друг с другом, посылая и принимая сообщения.

ООП Смолток9 Предыстория 1.Работы М.Минского, 60-е гг., концепция фреймов для представления знаний. Фрейм - это то минимальное описание, которое еще сохраняет сущность описываемого явления. С программной точки зрения фрейм содержит как данные (слоты), так и процедуры (демоны), вызываемые при манипулировании данными. 2.Симула-67. Язык моделирования (Норвегия, Кристен Нюгорд и Оле- Йохан Даль). Синтаксис основан на языке Алгол-60. Описание «класс» (class) и наследование. В каком-то смысле это - объектное расширение Algol Смолток. Алан Кей. Начало 70-х гг. (Смолток-72 и т.д.) 4.Objective-C. Введение объектно- ориентированных конструкций в язык C. 5.С++

ООП Смолток10 Основные понятия языка Смолток Объект, класс, сообщение и метод. Объект обладает собственной памятью (переменные экземпляра), где хранится информация о его свойствах и состоянии. Доступ к указанной информации имеет только сам этот объект. Методы. Объект обладает множеством процедур, описывающих поведение объекта – набором методов - операций для манипулирования хранящейся в объекте информацией. Метод состоит из операций над своими переменными экземпляра и из посылок сообщений другим объектам. В конечном счете метод должен выдать ответ на посланное объекту сообщение. Сообщения. Для активизации метода объекту посылается сообщение (аналог вызова процедур). Протокол. С каждым объектом связан протокол сообщений, которые он понимает. Всякому сообщению из протокола соответствует реализующая его процедура (метод). Сообщение x f Объект x

ООП Смолток11 Синтаксис языка Три оператора: посылка сообщения, выдача ответа и присваивание значения переменной. Посылка сообщения (подлежащее – сказуемое - дополнение): объектПолучатель имяСообщения [объектыАргументы] Например: а – 3объекту "а" посылается сообщение с именем "-" и аргументом 3; 5 factorialобъекту 5 посылается сообщение с именем "factorial"; table inPos: 5 locate: 7объекту "table" посылается сообщение с именем "inPos: locate:" и аргументами: 5 и 7.

ООП Смолток12 Объекты «сами по себе» Проблема: много «похожих» объектов

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

ООП Смолток14 Все есть суть объект. Не бывает внеклассовых объектов Чтобы создать объект, классу посылается сообщение о создании нового экземпляра. Классы в Смолтоке организованы иерархически. Суперклассы и подклассы. Наследование. Классы – тоже объекты

ООП Смолток15 Задание классов Объявление класса - регистрация спецификации экземпляра класса и спецификации самого класса Спецификация экземпляра - объявление переменных экземпляра и объявления методов экземпляра. Спецификация класса - объявление переменных класса и объявления методов класса. Экземпляры одного класса распознают одни и те же сообщения и имеют одинаковую структуру собственной памяти. У каждого класса существует два типа методов: методы класса (добавить к классу новый экземпляр); методы экземпляра. Объявление метода экземпляра: схема сообщения и тело метода.

ООП Смолток16 Иерархия Схема обработки сообщения При получении сообщения объект ищет в своем классе метод с именем, совпадающим с именем сообщения. Если такого метода нет, объект ищет его в списке методов суперкласса и т.д. Когда метод обнаружен, он выполняется и выдает ответ. Если нигде, вплоть до корня дерева, метод не будет обнаружен, выдается ответ с сообщением об ошибке. d D d f3 d f2 d f1 d f4

ООП Смолток17 Сообщения Сообщение с унарным селектором stack pop stack – объект-получатель сообщения pop – унарный селектор. Бинарный селектор x+y x – получатель сообщения, +y – сообщение y – параметр, "+" - бинарный селектор. Селектор с ключевыми словами pen move:east by:10

ООП Смолток18 Приоритеты Унарное сообщение имеет более высокий приоритет, чем бинарные. Приоритет может задаваться скобками. x - y size = x - (y size). Интерпретация сообщений а)"1–2", б)"1 –2" в)"1– 2" и г)"1+(–2)"

ООП Смолток19 Примеры сообщений