Здавалка
Главная | Обратная связь

Лекция 4. КЛАССЫ В ОБЪЕКТНО-ОРИЕНТИРОВАННОМ



ПРОГРАММИРОВАНИИ1. Понятие класса. Виды классов и методов.

Понятие класса

Класс можно рассматривать как шаблон, по которому составляются

инструкции одни и те же для всех объектов. Самое полезное свойство этого

шаблона - единообразный способ организации всех характеристик объекта.

В объектно-ориентированной терминологии шаблон, на котором

основаны похожие объекты называется классом. Когда программа создает

объект какого-либо класса, она указывает значения его атрибутов. Затем

объект может пользоваться методами, написанными для его класса. Все

объекты одного и того же класса имеют идентичный набор методов. Типы их

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

различаются, скажем, имена людей.

Класс является также и типом данных. Фактически класс - это

реализация абстрактного типа данных, то есть другое название типа данных,

определяемого пользователем. Поскольку класс - это тип данных, его можно

использовать в качестве типа атрибута.

Предположим, к примеру, что вы разрабатываете класс для обработки

данных о служащих своей организации. В состав атрибутов такого класса

может входить идентификатор служащего, его имя, фамилия и адрес. Адрес

же состоит из почтового индекса и названия улицы, города, штата. Поэтому

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

дублировать их в классе служащего, просто указать, что объект класса

служащего включает в себя объект другого класса, с помощью которого

представляется адрес служащего.

Виды классов

1) - управляющие классы (Control classes). Они не занимаются

обработкой данных и не продуцируют видимого результата. Вместо этого они

управляют ходом выполнения программы. Например, классы приложения

представляют саму программу. В большинстве случаев каждая программа

создает ровно один класс приложения. В его задачи входит запуск

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

программы в соответствии с запросами пользователя;

2) - предметные классы (Entity classes). Они используются для создания

объектов, занимающихся обработкой данных. Например, класс Счет

относится к предметным. Классы, представляющие людей, материальные

объекты и события (например, деловые совещания) являются предметными.

В большинстве объектно-ориентированных программ есть хотя бы один

предметный класс, по которому создаются объекты. На самом деле в

простейшем случае объектно-ориентированная модель данных строится из

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

классов.

3)- интерфейсные классы (Interface classes). Они занимаются вводом и

выводом информации. Например, при работе с графическим

пользовательским интерфейсом, то каждое окно или меню, встречающееся в

программе, является объектом интерфейсного класса.

В объектно-ориентированной программе предметные классы не

выполняют собственно ввод и вывод. Ввод с клавиатуры обеспечивают

интерфейсные объекты. Они принимают данные и посылают их предметным

объектам для хранения и обработки. Вывод на экран или печать

форматируются интерфейсными объектами, получающими данные от других.

Во многих объектно-ориентированных программах используется еще

четвертый вид классов

4)- контейнерный (Container classes). Контейнерные классы служат

вместилищем нескольких объектов одного и того же класса. Поскольку они

собирают объекты вместе, иногда их называют также агрегатами.

Контейнерный класс отвечал бы за хранение объектов в определенном

порядке, их перебор и, возможно, поиск. Они предоставляют доступ ко всем

объектам одного и того же класса.

Виды методов

В классах используются следующие виды методов:

- конструктор (Constructor) - метод, имя которого совпадает с именем

класса. Он выполняется при создании объекта. Поэтому конструктор обычно

содержит инструкции по инициализации переменных объекта;

- деструктор (Destructor) - метод, выполняемый при уничтожении

объекта. Не во всех объектно-ориентированных языках есть деструкторы.

Обычно они применяются для освобождения системных ресурсов - например,

оперативной памяти, - занимаемых объектом;

- методы чтения (Accessors) - еще их называют get-методами -

возвращают значение закрытого атрибута объекта. Именно так внешние

объекты обычно получают доступ к инкапсулированным данным.

- методы изменения (Mutators), set-методы, устанавливают новое

значение атрибута. Таким образом, внешние объекты изменяют

инкапсулированные данные.Прочие методы, определенные в классе, зависят от назначения класса,

то есть от действий, которые он призван выполнять.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.