рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Тема 5. Объектно ориентированное программирование

Тема 5. Объектно ориентированное программирование - раздел Программирование, Лекция № 21 Тема 5. Объектно Ориентированное Прог...

Лекция № 21

Тема 5. Объектно ориентированное программирование

Введение

По мере развития средств визуального отображения информации и управления работой программы, обеспечиваемых графическим режимом, возрастал объем программ и росли затраты на создание программ, увеличивалось количество данных и количество подпрограмм, обрабатывающих эти данные. Разобраться какие подпрограммы обрабатывают те или иные данные становилось все труднее (обычно в программах данные и подпрограммы располагаются в различных местах: информация о типах данных в разделе TYPE, переменные - в разделе VAR, а действия над данными - в разделе операторов).

Замечание. Совокупность средств для интерактивного взаимодействия пользователя с программой на ЭВМ принято называть интерфейсом.

Развитие средств интерактивного взаимодействия привело к пересмотру идеологии построения главной программы. Если раньше программа имела строго фиксированный алгоритм и от пользователя требовалось только ввести в определенный момент времени исходные данные и получить результаты после выполнения программы, то использование интерактивного режима позволило строить программы, алгоритм выполнения которых стал определяться пользователем.

Все это привело к двум новым концепциям в программировании:

- появлению программ, управляемых событиями;

- появлению метода объектно-ориентированного программирования.

 

Программы, управляемые событиями.

В WINDOWS принято программу для решения той или иной задачи называть приложением. При запуске приложения выполняется инициализация его и открывается…  

Классы и объекты

5.3.1. Объекты

 

В реальном мире нас окружают различные объекты (люди , предметы, явления). Они обладают определенными параметрами (характеристиками). Они могут выполнять действия, либо над ними можно выполнять те или иные действия. Например, возьмем такой объект как стол. Он обладает параметрами: габариты, тип материала, цвет и т.п. С ним можно выполнять различные действия: его можно создать, чистить, ставить на него другие предметы, уничтожить и т.п.

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

Обратим внимание еще на один момент. Есть действия, которые можно выполнять с любой мебелью, например, мебель можно чистить. Однако разные представители мебели чистятся по разному - стол можно просто протереть, а мягкую мебель надо чистить пылесосом. Таким образом для разных видов мебели придется уточнить понятие чистки, хотя всюду оно будет называться одинаково.

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

 

5.3.2. Данные типа класс.

 

В основе ООП лежит понятие класса. Класс в ООП - это своеобразный тип данных, включающий в себя поля данных и подпрограммы для обработки этих данных .

В ООП принято подпрограммы для обработки полей класса называть методами. Из определения следует, что в классе сосредоточены все его характеристики и поведение. Фактически класс это идентификатор сложного типа (данные + методы), объявляемый в разделе TYPE.

Объект - это переменная типа класс, объявленная в разделе переменных.

Для объявления данных типа класс необходимо в разделе TYPE объявить идентификатор типа класс и использовать его в разделе переменных.

Форма записи:

Type идтк = class

имя_1 : тип; имя_2 : тип ;

Поля

имя_n : тип ;

процедура1 имя (список);

Методы

процедураn имя (список);

End ;

где идтк - идентификатор типа (начинается с буквы Т).

Пример объявление класса Tpoint:

 

Type Tpoint = class

X, Y :Integer ;

Color : Word ;

Vis : Boolean ;

Procedure SetLocation (Nx,Ny : Integer) ; {задание нового положения}

Procedure SetColor( Newc : word ) ; {установка цвета}

Procedure SetVisible ( Vis : Boolean ) ; {высвечивание или гашение}

End ;

 

Здесь TPoint идентификатор типа; X, Y, Color, Vis – поля; SetLocation, SetColor, SetVisible – методы.

Переменные типа CLASS называются объектами и объявляются в разделе переменных, например, запись вида

Var PointA , PointB : TPoint ;

 

означает, что в программе используется две переменные типа CLASS (идентификатор типа - TPoint).

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

Определение. Объединение данных и методов в одном описании называется инкапсуляцией.

 

5.3.3. Абстрактные классы

Не для всех классов можно создать соответствующие им объекты. Ряд из них, обычно располагающихся на верхних уровнях иерархической структуры , не позволяют этого сделать, либо создаваемые на их основе объекты оказываются неработоспособными. Действительно, если взять, например, классы столов и мебели, то можно создать конкретный стол, но нельзя создать образец мебели вообще.

Классы, для которых нельзя создать соответствующие им объекты называются абстрактными.

 

5.3.4. Методы

 

Процедуры и функции определяющие действия над данными в типе CLASS принято называть методами.

В описании типа CLASS указываются только имена подпрограмм со списками формальных параметров (списки формальных параметров могут отсутствовать - это означает, что в подпрограмме используются глобальные переменные). Предполагается, что где-то позже (в разделе подпрограмм или модуле) располагаются тексты этих подпрограмм.

Методы класса определяются так же как и обычные подпрограммы, но в качестве имен подпрограмм используются составные имена вида

 

Имя класса.имя метода

 

Например, процедура SetLocation из предыдущего примера должна быть записана в виде

Procedure Tpoint.SetLocation (Nx,Ny:Integer);

. . . . . . . . . . . . . . . .

begin

. . . . . .

End;

Здесь Tpoint.SetLocation – это составное имя.

Чтобы метод был выполнен в программе надо также указать составное имя, форма которого имеет вид

Имя_объекта.имя_метода

Например инструкция

PointA.SetLocation(A,B);

вызывает применение метода SetLocation к объекту PointA . Фактически инструкция применения метода к объекту - это спецефический способ вызова процедуры.

 

Правила назначения имен классов и их элементов.

В Object Pascal (и других языках) принято следовать следующим правилам назначения имен классов и их элементов.

Если следовать этим соглашениям, то разработка новых компонентов и чтение исходных текстов станет существенно проще.

1. Все декларации типов начинаются на букву T. Delphi не требует этого, но это делает очевидным, что "TEdit", например, есть определение типа, а не переменная или поле класса.

2. Внутреннее поле для хранения данных свойства должно носить имя, начинающееся с буквы “F”. Например, Fcount : Integer;

3. Параметр метода, значение которого присваивается какому либо полю класса, обычно имеет то же имя, что и поле, но только префикс F заменяется на А, например:

Procedure SetCount( Acount : Integer);

4. Имя метода, с помощью которого записывается значение свойства обычно начинается со слога Set. Например, метод SetStyle должен выполнять запись в свойство Style.

5. Имя метода, с помощью которого у свойства читается его значение, обычно начинается со слога Get, Например, метод GetStyle должен выполнять чтение для свойства Style.

8.Имена методов-обработчиков сообщений обычно начинаются с префикса WM, имена типов сообщений - с TWM, индексов сообщений - с WM_.

9. Имена свойств, через которые происходит обращение к обработчикам событий задаются именами с префиксом on (например, OnClick, OnCreate и т.д.).

– Конец работы –

Используемые теги: Тема, Объектно, ориентированное, Программирование0.073

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Тема 5. Объектно ориентированное программирование

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекция 1. Объектно-ориентированное программирование – это новый подход к программированию. Объектно- ориентированные языки обладают свойством
ВВЕДЕНИЕ... Приступая к изучению более сложных конструкций языка С следует прежде всего повторить тот материал который был...

В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование
В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование... Структурное программирование это технология создания программ позволяющая... Компиляторы и интерпретаторы Трансляторы бывают...

Лексическая тема: Из жизни замечательных людей. Учёные-медики. Грамматическая тема: Сложноподчиненное предложение. Типы сложноподчиненных предложений.
Кафедра русского языка... Методические рекомендации... Для практических занятий...

Лексическая тема: Из жизни замечательных людей. Учёные-медики. Грамматическая тема: Типы сложноподчиненных предложений.
Специальность Общая медицина... Кафедра русского языка... Методические рекомендации...

Лексическая тема: По родному краю. Здравницы Казахстана. Грамматическая тема: Односоставные предложения.
Специальность Общая медицина... Кафедра русского языка... Методические рекомендации...

Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки
Класс это шаблон который определяет форму объекта Он задает как данные так и код который оперирует этими данными Объекты это экземпляры... Объявление объекта типа Building... Building house new Building...

Постановка задачи линейного программирования и двойственная задача линейного программирования.
Всвязи с развитием техники, ростом промышленного производства и с появлением ЭВМвсе большую роль начали играть задачи отыскания оптимальных решений… Именно в силу этого процесс моделированиячасто носит итеративный характер. На… Здесь имеется полная аналогия с тем, как весьма важнаи зачастую исчерпывающая информация о поведении произвольной…

По произведениям Александра Блока «Моя тема - тема о России»
Тема России является центральной в творчестве поэта. Особенно мощно она начинает звучать в его лирике во время переломных событий начала века.… Обращаясь к этому миру, Блок утверждает: “не может сердце жить покоем, недаром… Доспех тяжел, как перед боем. Теперь твой час настал.

Лабораторная работа №2 по "Основам теории систем" (Решение задач линейного программирования симплекс-методом. Варианты разрешимости задач линейного программирования)
Будем увеличивать , т.к. ее увеличение вызовет большее увеличение функции цели.Предположим, что , тогда Запишем новый опорный план . Все оценки… Теперь базисными переменными являются , а свободными . Для анализа этого плана… Будем увеличивать . Пусть , тогда откуда получаем Все оценки опорного плана должны бытьнеотрицательны, а значит должны…

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

0.04
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам