Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / ЛЕКЦИИ / PZ03 / Стародубский И.П..doc
Скачиваний:
38
Добавлен:
23.03.2015
Размер:
203.26 Кб
Скачать

Специализация

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

Заключение

Исходя из вышеизложенного, современный язык программирования должен обладать следующими свойствами:

основным средством для реализации понятия типа является класс;

класс должен поддерживать концепции контейнеризации и наследования;

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

классы и экземпляры классов (объекты) могут располагаться в разных модулях;

механизм модульности должен поддерживать произвольное число уровней вложенности;

объекты должны иметь возможность одновременного существования (для реализации динамических моделей);

виртуальная машина языка должна поддерживаться явным образом.

Чтобы добиться максимального эффекта от объектно-ориентированного подхода, необходимо его использование не только при написании программ, но и во всех остальных случаях:

при разработке архитектуры компьютера;

при построении операционной системы;

при построении пользовательского интерфейса;

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

Процедурная абстракция

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

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

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

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