Принципы объектно-ориентированного программирования

Автор работы: Пользователь скрыл имя, 03 Февраля 2013 в 16:55, контрольная работа

Краткое описание

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

Содержание

Введение
4
1. Основные понятия объектно-ориентированного программирования
6
1.1. Основные принципы ООП
6
2. Объект – как базовое понятие в объектно-ориентированном программировании
7
2.1. Инкапсуляция
9
2.2. Наследование как важнейшее свойство объекта
9
2.3. Экземпляры объектных типов
10
2.4. Поля объектов
11
2.5. Методы
11
2.6. Полиморфизм
13
3. Понятие класса
13
4. Процесс объектно-ориентированного проектирования
16
5. Объектно-ориентированные языки
17
6. Простая объектная модель и ссылочно-объектная модель
20
Заключение
21
Список литературы
22

Вложенные файлы: 1 файл

Тема_27.doc

— 101.00 Кб (Скачать файл)

 Первым языком программирования, в котором были предложены  принципы объектной ориентированности,  была Симула. В момент своего  появления (в 1967 году), этот язык  программирования предложил поистине  революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.

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

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

Smalltalk расширяет эту  идею до уровня «обобъекчивания»  таких предопределенных типов  данных, как целые и символы,  а также языковых конструкций  (таких как циклы). Это теоретически  интересно, но сильно уменьшает эффективность. Java останавливается много раньше, допуская присутствие простых не объектно-ориентированных типов данных (хотя имеются необязательные классы-обертки и для простых типов).

 

 

6. Простая объектная  модель и ссылочно-объектная модель

 

 

 Третий элемент,  по которому различаются языки  объектно-ориентированного программирования - их объектная модель. Некоторые  традиционные языки объектно-ориентированного  программирования позволяют программистам  создавать объекты в стеке,  в куче (в хипе - heap) или в статической памяти. В этих языках переменная типа класс соответствует объекту в памяти. Так работает C++.

 В последнее время  появилась тенденция использовать  другую модель, часто называемую  ссылочно-объектной моделью. В  этой модели каждый объект динамически размещается в куче, а переменная типа класс фактически является ссылкой или хэндлом объекта в памяти (технически это нечто вроде указателя). Java и Object Pascal оба используют эту ссылочную модель. Как мы увидим, вкратце это значит, что вам необходимо не забыть выделить память для объекта.

 

 

Заключение

 

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

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

 

 

 

Список литературы

 

  1. “Новые языки программирования и тенденции их развития”, Ушкова В., 2005 г.
  2. Антони Синтес Освой самостоятельно объектно-ориентированное программирование за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М.: «Вильямс», 2002. — С. 672.
  3. Бертран Мейер Объектно-ориентированное конструирование программных систем + CD . Интернет-университет информационных технологий - ИНТУИТ.ру, Русская Редакция, 2005
  4. Биллиг В.А. Основы программирования на C# . Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
  5. Братчиков, И.Л. Синтаксис языков программирования; Наука, 2009. - 230 c.
  6. Джосьютис, Николай C++ стандартная библиотека; СПб: Питер, 2011. - 730 c.
  7. Зелковиц, М.; Шоу, А.; Гэннон, Дж. Принципы разработки программного обеспечения; М.: Мир, 2009. - 368 c.
  8. Иан Грэхем Объектно-ориентированные методы. Принципы и практика = Object-Oriented Methods: Principles & Practice. — 3-е изд. — М.: «Вильямс», 2004. — С. 880.
  9. Калашников О. Ассемблер? Это просто! Учимся программировать (+ CD-ROM); СПб: БХВ, 2011. - 384 c.
  10. Марков А.А., Нагорный Н.М. Теория алгорифмов; М.: Высшая школа, 2012. - 855 c.
  11. ред. Морозов, В.А.; Репин, В.М. Вычислительные методы и системы обработки данных на ЭВМ; М.: МГУ, 2009. - 186 c.



Информация о работе Принципы объектно-ориентированного программирования