Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lections_rus.doc
Скачиваний:
31
Добавлен:
06.02.2016
Размер:
1.41 Mб
Скачать

1.4. Заключение

Существует ли наилучший метод проектирования? Согласно Гради Бучу «на этот вопрос нет однозначного ответа. По сути дела это завуалированный вопрос: "Существует ли лучший способ декомпозиции сложной системы?" Если и существует, то пока он никому не известен».

А согласно Б.Страуструпу «Не существует идеальных языков программирования. К счастью, язык программирования не обязан быть идеальным, чтобы быть хорошим инструментом для написания даже огромных сисетем».

Тема 2. Основные концепции ооп (2 часа).

Объекты и классы. Память класса. Интерфейс. Понятия инкапсуляции и наследования.

В последнее время ООП стало синонимом хорошего стиля в прог­раммировании - отсюда стремление практически всех разработчиков тем или иным способом подчеркнуть свои передовые позиции в этой облас­ти. Существуют ли критерии, в соответствии с которыми можно опреде­лить "степень" объектной ориентации системы? По мнению некоторых авторов [2], объектно-ориентированной может считаться система или язык программирования, которые обеспечивают реализацию трех фунд­аментальных концепций ООП

1) возможность определения пользова­тельских типов данных и их инкапсуляцию,

2) наследование свойств,

3) полиморфизм.

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

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

2.1. Объекты и классы

Формальное определение объекта в ООП:

Объект- это осязаемая сущность, которая четко проявляет свое поведение.

Объект состоит из следующих трех частей:

имя объекта;

состояние (переменные состояния);

методы (операции).

Обобщенное определение:

Объект ООП - это совокупность переменных состояния и связанных с ними методов(операций). Эти методы определяют, как объект взаимодействует с окружающим миром.

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

Класс (class) - это группа данных и методов (функций) для работы с этими данными. Это шаблон.

Объект (object)- это конкретная реализация, экземпляр класса. В программировании отношения объекта и класса можно сравнить с описанием переменной, где сама переменная(объект) является экземпляром какого-либо типа данных(класса).

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

Методы (methods)- это функции (процедуры), принадлежащие классу.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]