русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Базовые понятия ООП


Дата добавления: 2015-06-12; просмотров: 608; Нарушение авторских прав


Парадигма программирования – это система идей и понятий, определяющих стиль создания компьютерных программ. Примерами парадигм являются императивное программирование, структурное программирование, объектно-ориентированное программирование. В императивном программировании процесс вычисления описывается в виде последовательности команд, которые должен выполнить компьютер. Структурное программирование основано на представлении программы в виде иерархической структуры связанных блоков (подзадач). Усложнение программного обеспечения привело к широкому распространению объектно-ориентированного программирования (ООП). Эта парадигма предлагает рассматривать программу как процесс взаимодействия некоторых вполне самостоятельных единиц, по аналогии с реальным миром называемых объектами. Создание программы заключается в наиболее полном описании соответствующих объектов и кодировании связей между ними. ООП оказалось настолько продуктивной идеей, что большинство современных языков программирования являются либо чисто объектно-ориентированными (Java, C#), либо содержат средства ООП в качестве надстройки (C++, Object Pascal).

ООП основывается на следующих принципах: абстракция, инкапсуляция, наследование, полиморфизм. Абстракция в ООП – это набор наиболее значимых характеристик объекта (способ выделения подобных характеристик называется абстрагированием). Инкапсуляция – это логическое объединение в одном программном типе, называемом класс, как данных, так и подпрограмм для их обработки. Данные класса хранятся в полях класса, подпрограммы для работы с полями называются методами класса.

Разберём синтаксис определения класса в Object Pascal. В качестве примера рассмотрим класс для описания человека (нас интересуют имя и возраст):

type TPerson = class

fName: string;

fAge: Integer;



procedure SetAge(Age: Integer);

function SayName: string;

end;

Определение класса размещается в секции описания типов. Это может быть глобальная секция типов программы, секция типов в интерфейсной части модуля или в разделе реализации, но не секция типов в подпрограмме. Для определения класса используется ключевое слово class. Вначале описываются поля класса. Полями класса TPerson являются fName и fAge[1]. После описания всех полей следует указание методов класса. Методы TPerson – это процедура SetAge и функция SayName. Класс содержит только заголовки методов, реализация методов описывается отдельно. Если класс описан в модуле, реализация методов должна находиться в том же модуле в секции implementation. Чтобы показать, что подпрограмма является реализацией метода класса, используется синтаксис имя-класса.имя-метода. В теле методов обращение к полям класса происходит без указания каких-либо дополнительных спецификаторов:

procedure TPerson.SetAge(Age: Integer);

begin

if Age > 0 then fAge := Age

end;

 

function TPerson.SayName: string;

begin

Result := 'My name is ' + fName

end;

После того как класс описан, можно объявить переменную класса, называемую экземпляром класса или объектом:

var Man: TPerson;

В реальной жизни классу соответствует абстрактное понятие, которое уточняется в своих проявлениях. Так, класс TPerson как бы пытается описать человека вообще, через его параметры и действия, производимые им и над ним. Объект Man – это конкретный человек, описанный определёнными значениями полей.

В Object Pascal для работы с полями и методами объекта используется синтаксис имя-объекта.имя-поля-или-метода. Это напоминает работу с переменной типа запись:

Man.fName := 'John Dow';

Man.SetAge(37);

writeln(Man.SayName, Man.fAge);

Приведём полный пример консольного приложения, содержащего определение класса и демонстрирующего работу с объектами:

program OOPExample;

{$APPTYPE CONSOLE}

 

type TPerson = class

fName: string;

fAge: Integer;



procedure SetAge(Age: Integer);

function SayName: string;

end;

 

procedure TPerson.SetAge(Age: Integer);

begin

if Age > 0 then fAge := Age

end;

 

function TPerson.SayName: string;

begin

Result := 'My name is ' + fName

end;

 

var Man: TPerson;

 

begin

Man := TPerson.Create; // создание объекта

Man.fName := 'John Dow';

Man.SetAge(37);

writeln(Man.SayName, Man.fAge);

end.



<== предыдущая лекция | следующая лекция ==>
Коды Game Genie | Создание и уничтожение объектов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

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


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.31 сек.