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

Автор работы: Пользователь скрыл имя, 26 Сентября 2013 в 21:40, курсовая работа

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

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

Содержание

Введение……………..……………………….…………….……………………….…...…..4
1. Устройства ввода звуковой информации.…………………………………………....5
1.1 Микрофон……...…………..………………………..………………………………..5
1.2 Цифровой диктофон.…………………………………………………………….…7
1.3 Модем…………………………………………………………………………………..7
2. Организация файловой системы. Обслуживание файловой структуры…………......10
2.1 Организация файловой системы.…………………………….…………….… ... 10
2.2 Обслуживание файловой структуры…………………………….….…….…….21
3. Объектно-ориентированное программирование…….……………………………..…....24
3.1 Контроль во время компиляции и во время выполнения………………….……25
3.2 Чисто объектно-ориентированные и гибридные языки……………………..25
3.3 Простая объектная модель и ссылочно-объектная модель…………………26
3.4 Классы, объекты и ссылки………………………………………………………….26
3.5 Мусорная корзина…………………………………………………………………….27
3.6 Определение новых классов…………………………………………………………29
3.7 Создание и уничтожение объектов ……………………………………………..30
3.8 Инкапсуляция (Private и Public)……………………………………………………30
3.9 Файлы, юниты и пакеты……………………………………………………………30
3.10 Методы/данные класса и объекта класса……………………………………..31
3.11 Классы и наследование……………………………………………………………..31
3.12 Предок всех классов…………………………………………………………………32
3.13 Доступ к методам базового класса……………………………………………..32
3.14 Совместимость подтипов………………………………………………………..33
3.15 Позднее связывание (и полиморфизм)…………………………………………..33
3.16 Абстрактные методы и классы…………………………………………………33
3.17 Множественное наследование и интерфейсы…………..……………………34
3.18 Другие свойства…………………………………………………………….………35
3.19 Стандарты…………………………………………………………………….……37
3.20 Языки и программное окружение……………………………………………...37
4. Практическая часть ……………………….…………………………...……………38
4.1 Условие задачи…………………………………………………………….…………38
4.2 Блок-схема………………………………………………….…………………………39
4.3 Листинг программы…………………………………………………………………40
Заключение ……………….……….………………………………………………………42
Список использованной литературы…………………………………………………… 43

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

курсяк.docx

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

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

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

Значения  атрибутов файлов могут непосредственно  содержаться в каталогах, как  это сделано в файловой системе  MS-DOS (рис. а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А — архивный, Н — скрытый, S — системный.

Рис. 2 Структура каталогов: a — структура записи каталога MS-DOS (32 байта), б — структура записи каталога ОС UNIX

 

Другим  вариантом является размещение атрибутов  в специальных таблицах, когда  в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рис. 2 б).

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

 

Логическая организация файла

 

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

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

Модель  файла, в соответствии с которой  содержимое файла представляется неструктурированной  последовательностью (потоком) байт, стала  популярной вместе с ОС UNIX, а теперь она широко используется в большинстве современных ОС, в том числе в MS-DOS, Windows NT/2000, NetWare. Неструктурированная модель файла позволяет легко организовать разделение файла между несколькими приложениями: разные приложения могут по-своему структурировать и интерпретировать данные, содержащиеся в файле.

Другая  модель файла, которая применялась  в ОС OS/360, DEC RSX и VMS, а в настоящее время используется достаточно редко, — это структурированный файл. В этом случае поддержание структуры файла поручается файловой системе. Файловая система видит файл как упорядоченную последовательность логических записей. Приложение может обращаться к ФС с запросами на ввод-вывод на уровне записей, например «считать запись 25 из файла FILE.DOC». ФС должна обладать информацией о структуре файла, достаточной для того, чтобы выделить любую запись. ФС предоставляет приложению доступ к записи, а вся дальнейшая обработка данных, содержащихся в этой записи, выполняется приложением. Развитием этого подхода стали системы управления базами данных (СУБД), которые поддерживают не только сложную структуру данных, но и взаимосвязи между ними.

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

Файловая  система может использовать два  способа доступа к логическим записям: читать или записывать логические записи последовательно (последовательный доступ) или позиционировать файл на запись с указанным номером (прямой доступ).

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

К числу таких способов структуризации относится представление данных в виде записей, длина которых  фиксирована в пределах файла (рис. 3 а). В таком случае доступ к n-й записи осуществляется либо путем последовательного чтения (n-1) предшествующих записей, либо прямо по адресу, вычисленному по ее порядковому номеру. Например, если L — длина записи, то начальный адрес n-й записи равен L*n. Заметим, что при такой логической организации размер записи фиксирован в пределах файла, а записи в различных файлах, принадлежащих одной и той же файловой системе, могут иметь различный размер.

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

Файлы, доступ к записям которых осуществляется последовательно, по номерам позиций, называются неиндексированными, или последовательными.

 

Рис. 3 Способы логической организации файлов

 

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

Все вышесказанное в большей степени  относится к обычным файлам, которые  могут быть как структурированными, так и неструктурированными. Что  же касается других типов файлов, то они обладают определенной структурой, известной файловой системе. Например, файловая система должна понимать структуру  данных, хранящихся в файле-каталоге или файле типа «символьная связь».

 

 

 

 

 

 

 

 

 

 

 

2.2 Обслуживание файловой структуры

 

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

· создание файлов и присвоение им имен;

· создание каталогов (папок) и присвоение им имен;

· переименование файлов и каталогов (папок);

· копирование и перемещение файлов между дисками компьютера и между  каталогами ( папками) одного диска;

· удаление файлов и каталогов (папок);

· навигация по файловой структуре  с целью доступа к заданному  файлу, каталогу (папке);

· управление атрибутами файлов.

 

Создание каталогов (папок)

 

Каталоги (папки) — важные элементы иерархической  структуры, необходимые для обеспечения  удобного доступа к файлам, если файлов на носителе слишком много. Файлы  объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по времени создания и т. п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем  вложенности иерархической структуры  является корневой каталог диска.

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

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

Особенности Windows95 и Windows98. До появления операционной системы Windows 95 при описании иерархической  файловой структуры использовался  введенный выше термин каталог. С  появлением этой системы был введен новый термин — папка. В том, что  касается обслуживания файловой структуры  носителя данных, эти термины равнозначны: каждому каталогу файлов на диске  соответствует одноименная папка  операционной системы. Основное отличие  понятий папка – каталог проявляется  не в организации хранения файлов, а в организации хранения объектов иной природы. Так, например, в Windows95 и Windows98 существуют специальные папки, представляющие собой удобные логические структуры, которым не соответствует ни один каталог диска.

 

Копирование и перемещение файлов

 

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

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

 

Удаление файлов и каталогов (папок)

 

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

Удаление  файлов является временным. В операционных системах Windows95 и Windows98 оно организовано с помощью специальной папки, которая называется Корзина. При  удалении файлов и папок они перемещаются в Корзину. Эта операция происходит на уровне файловой структуры операционной системы (изменяется только путь доступа  к файлам). На уровне файловой системы  жесткого диска ничего не происходит — файлы остаются в тех же секторах, где и были записаны.

Уничтожение файлов происходит при их удалении в операционной системе MS-DOS или при  очистке Корзины в операционных системах Windows95/98, В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска  с ним происходят лишь незначительные изменения. В таблице размещения файлов он помечается как удаленный, хотя физически остается там же, где и был. Это сделано для  минимизации времени операции. При  этом открывается возможность записи новых файлов в кластеры, помеченные как «свободные».

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