Реферат на тему:


Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск






Загрузка...
Объектно-ориентированное программирование

Реферат по информатике

Об объектно-ориентированное программирование

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

В этой главе рассматриваются способы реализации основных механизмов ООП в Object Pascal и Delphi

понятие объекта, класса и компонента;

основные механизмы ООП: инкапсуляция, наследование и полиморфизм;

особенности реализации объектов;

взаимодействие свойств и методов.

Материал главы рассчитан на читателя, имеющего представление о самом языке Object Pascal, его операторах и основных возможностях.

Объект и класс

классом в Object Pascal называется структура языка, может иметь в своем составе переменные, функции и процедуры. Переменные в зависимости от предназначения именуются полями свойствами (см. Ниже). Процедуры и функции класса методами. Соответствующий класса тип будем называть объектным типом

type

TMyObject = class (Tobject)

MyField: Integer;

function MyMethod: Integer;

end;

В этом примере описан класс TMyObject, содержащий поле MyField и метод MyMethod.

Поля объекта аналогичные полям записи (record). Это данные, уникальные для каждого созданного в программе экземпляра класса. Описанный здесь класс TMyObject имеет одно поле MyField.

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

Классы могут быть описаны или в секции интерфейса модуля, или на верхнем уровне вложенности секции реализации. Не допускается описание классов "где попало", то есть внутри процедур и других блоков кода.

Разрешено опережающее объявление классов, как в следующем примере:

Type

TFirstObject = class;

TSecondObject = class (TObject)

Fist: TFirstObject;

...

end;

TFirstObject = class (TObject)

...

end;

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

var

AMyObject: TMyObject;

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

Как создаются и уничтожаются объекты?

Те, кто раньше использовал ООП в работе на C ++ и особенно в Turbo Pascal, будьте внимательны: в Object Pascal экземпляры объектов могут быть только динамическими. Это означает, что в приведенном выше фрагменте переменная AMyObject самом деле является указателем, содержащим адрес объекта.

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

AMyObject = TMyObject.Create;

{действия с созданным объектом}

...

AMyObject ... Destroy;

Но, скажет внимательный читатель, ведь объекта еще нет, как мы можем вызвать его методы? Справедливое замечание. Однако обратите внимание, что вызывается метод TMyObject.create, а необщих вопросов, например о наличии или сопроцессора поддержке РСI BIOS

Block Devices | Серия вопросов о типах IDE-дисков и других устройств ввода-вывода

Networking Option | Вопрос о поддержке сетевых возможностей, например IP- маскирования или брандмауэров

SCSI Support | Поддержка SCSI контроллер

SCSI Low-Level Support | Низкоуровневая поддержка SCSI-контроллеров

Network device support | Поддержка различных сетевых контроллеров и процессов

Ethernet (10 or 100 Mbit) | Поддержка сетевых соединений 10 base и 100base

ISDN subsystem | Поддержка integrated Sеrvices Digital Network (ISDN)

CD-ROM drivers {not for SCSI or IDE / АИАРИ drivers) | Поддержка различных типов накопителей CD-ROM

Character Devices | Поддержка различных символьных устройств

Mice | Поддержка различные указания

ftape | Поддержка ленточных накопите лей и другие типы съемных устройств

Filesystems | Настройка поддержки различных файловых систем, а также кодовых страниц DOS

Network Filesystems (NFS) | Поддержка NFS

Sound | Поддержка различных звуковых карт

Additional low level sound drivers | Поддержка низкоуровневых специфических драйверов звуковых карт

Kernel Hacking | Поддержка профилирования ядра

Настройка с помощью меню

Более приятный пользовательский интерфейс в текстовом режиме обеспечивает вызов следующей команды (из каталога / usr / src / linux):

# make menuconfig

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

Настройка ядра с помощью Х-программы

Если вы установили Х Windows, то вместо описанной в предыдущем разделе. Кортежи практически эквивалентны тому, что обычно понимается под записью файла, а атрибуты отражают содержание значений каждого кортежа.

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

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

Описанные выше так называемые классические подходы к реализации СУБД чаще всего подвергаются критике за то, что все они основываются на идее пассивной множества данных. У них нет средств, позволяющих моделировать реальное поведение данных. Кроме того, семантические возможности также очень ограничены, поэтому трудно представлять действительное содержание данных.

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

Загрузка...