Основы современных компьютерных технологий

         

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


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

В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: "объект = данные + процедуры". Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию.

Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса.

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

К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.

Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее - C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.

В 1990 году сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было

51

обеспечение сетевого взаимодействия различных по типу устройств.
Новая интегрируемая в Internet версия языка, получила название Java. Первый броузер, который поддерживал язык Java, разработан программистом корпорации Sun П. Нафтопом и получил название HotJava. С января 1995 года Java получает распространение в Internet.

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

Принципиальной разницей между Java и C++ является то, что первый из них является интерпретируемым, а второй - компилируемым. Синтаксис языков практически полностью совпадает.

С точки зрения возможностей собственно объектно-ориентированных средств язык Java обладает рядом преимуществ перед языком C++. Так, язык Java демонстрирует более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что улучшает надежность и понимаемость кода. Язык же C++ обладает сложной, неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, однако, синтаксическая избыточность C++ заставляет и здесь отдать предпочтение языку Java.

В силу своей конструктивности идеи объектно-ориентированного программирования используются во многих универсальных процедурных языках. Так, например, в состав интегрированной системы программирования на языке PASCAL (корпорации Borland International) версии 5.5 входит специальная библиотека объектно-ориентированного программирования Turbo Vision.

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





К числу объектно- ориентированных систем визуального программирования относятся: Visual Basic, Delphi, C++ Builder и Visual C++.

52

Контрольные вопросы и упражнения

  • Что такое информация, сигнал, сообщение, данные? Дайте определение.


  • Назовите основные формы представления информации.


  • Что такое количество информации, в каких единицах оно измеряется?


  • Дайте общую характеристику процессов сбора, обработки и передачи информации.


  • Как соотносятся понятия "информационная техника" и "информационная технология"?


  • Что такое архитектура ЭВМ?


  • Перечислите основные устройства ЭВМ и дайте им краткую характеристику.


  • Назовите основные технико-эксплуатационные характеристики ЭВМ.


  • Представьте десятичное число -113 двоичным восьмиразрядным прямым, обратным и дополнительным кодами.


  • Числа -24.75(10) и 18.625 (10)представьте последовательно в шестиадцатеричной и двоичной системах.Выполните сложение и вычитание этих чисел в обратном и дополнительном кодах. Переведите полученные результаты в десятичную систему счисления.


  • Запишите свою фамилию, имя, отчество и год рождения в коде ДКОИ.


  • Дайте классификацию видов ПО.


  • Что такое алгоритм и какими свойствами он обладает?


  • Укажите способы описания алгоритмов.


  • Назовите этапы подготовки и решения задач па ЭВМ.


  • Что такое компиляция и интерпретация программ?


  • Охарактеризуйте основные стили программирования.


  • 53

    Литература

  • Аверьянов Г.П., Рошаль А.С. Элементы информатики: Учебное пособие.- М.:МИ-ФИ, 1995. - 175 с.


  • Богумирский Б.С. Руководство пользователя ПЭВМ: в 2-х частях.-Санкт-Петербург: Ассоциация OILCO, 1992. - 735 с.


  • ГОСТ 19.002-80 ЕСПД.


  • ГОСТ 19.003-80 ЕСПД.


  • Дворкин П.Л. Основы информатики и вычислительной техники: Учебное пособие .- Омск.:ОПИ, 1988.-119с.


  • Иванов Н. C++ или Java // Мир Internet, № 1,1997. - С. 42-49.


  • Информатика: Энциклопедический словарь для начинающих/Сост. Д.А. Поспелов - М.: Педагогика - Пресс, 1994. - 352 с.


  • Компьютерные технологии обработки информации: Учебное пособие / С.В.


    Назаров, В.И. Першинов, В.А. Тафинцев и др.; Под ред. С.В. Назарова. - М.: Финансы и статистика, 1995. - 248 с.


  • Основные понятия информатики и вычислительной техники: Методические материалы. - Новосибирск, 1990. - 123 с.


  • Основы компьютерной грамоты / А. Н.Жигарев, Н.В. Макарова, М.А. Путинце-ва; Под общ. ред. Н.В. Макаровой. - Л.: Машиностроение, 1987. - 255 с.


  • Программирование. Учебник под ред. Свердлика А.Н., МО СССР, 1992. - 608 с.


  • Ростовцев 10. Г. Основы построения автоматизированных систем сбора и обработки информации: Учебник. - СПб.: ВИККА им. А.Ф. Можайского, 1992. - 717 с.


  • Трудов Ю.В. Основы построения ЭВМ. Часть 1. Теоретические основы, элементы и узлы ЭВМ: Учебное пособие. - Л.: ВИКИ им. А.Ф. Можайского, 1990. - 216 с.


  • Шафрин Ю.А. Основы компьютерных технологий. Уч. Пособие для 7-11 классов по курсу "Информатика и вычислительная техника". - М.: ABF, 1996. - 560 с.


  • Шоу А. Логическое проектирование операционных систем: Пер. с англ. - М.: Мир, 1981.-360 с.


  • 54

    47 :: 48 :: 49 :: 50 :: 51 :: 52 :: 53 :: 54 :: Содержание


    Содержание раздела