Автор: Екатерина Акбашева, 06 Декабря 2010 в 22:27, курсовая работа
Проект предназначен для получения информации о наличии в библиотеке соответствующих книг.
Информация о состоянии книжного фонда содержится в текстовом файле в виде последовательности групп записей <автор>, <название книги>, <инвентарный номер>, <читатель>, <срок возврата>. Файл поддерживается в актуальном состоянии в соответствии с динамикой получения – возврата книг. Файл создается клиентской частью программы. Чтение и обновление файла осуществляется с помощью специального класса, включенного в библиотеку программ.
В данной работе используются следующие классы:
Структура класса:
Поля – это переменные класса или экземпляра класса, которые используются для хранения информации об объекте. При создании класса все его поля автоматически инициализируются нулем. Однако возможна инициализация в момент объявления. Поля подобны переменным в том, что их можно прочитать или изменить напрямую.
Методы – это процедуры и функции класса, то есть действия или задачи, которые выполняет объект (то, что можно делать с объектами). Методы имеют список формальных параметров, который может быть пустым. Для определения методов к классу добавляются подпрограммы Sub или Function.
Разделяемый метод – это метод, который не связан со специфическими экземплярами класса, а разделен всеми экземплярами класса. Разделяемые методы доступны через класс. Неразделяемые – через экземпляр класса. Методы могут быть переопределены (overloading). Это значит, что несколько методов могут иметь одно и то же имя, но разную сигнатуру, то есть разное количество параметров или их тип. Это называется также перегрузкой методов. Она является основой полиморфизма. Методы могут быть заменены (overriding). Это означает, что метод заменяет исходный метод с той же сигнатурой. Описание внешнего (external) метода вводит новый метод, реализация которого обеспечивается извне.
Внешние методы неявно разделяются. Они не могут обрабатывать события или реализовать компоненты интерфейса. Параметры методов специфицируются подобно параметрам процедур. Вызов метода создает специфическую для этого вызова копию формальных параметров и присваиваемые значения списку аргументов или ссылки к вновь созданным параметрам.
Интерфейс представляет собой соглашение, в котором указано, какие методы гарантировано реализуются классом. Чтобы реализовать метод интерфейса, нужно специфицировать описание метода ключевым словом Implements и списком компонентов интерфейса.
Переменные и методы класса имеют область действия класса. В области действия класса члены класса доступны всем методам этого класса и на них можно ссылаться по имени. Вне области действия класса к членам класса такое обращение невозможно. К Public-членам класса можно обращаться извне, используя формат <имя экземпляра класса>. <имя члена класса>.
Переменная, определенная в методе, может быть доступной только этому методу (является локальной переменной), она имеет область действия блока. Если метод определяет переменную, имеющую то же имя, что и переменная с областью действия класса, (т.е. переменная экземпляра), то в области действия метода первая переменная скрывает вторую. К скрытой переменной экземпляра можно обращаться в методе, помещая перед ее именем ключевое слово Me и операцию “точка”.
Свойство — это имеющий имя атрибут объекта. Свойства определяют характеристики объекта (например, цвет, положение на экране, состояние объекта).
Свойства
позволяют выполнить вызов
Для этого используются методы Get(для чтения) и Set (для записи), которые предоставляют больше возможностей управления заданием или возвратом значений. Установка необходимых значений элементов объекта происходит с помощью метода Set, а получение – с помощью метода Get. Дополнительный уровень абстрагирования между хранимым значением и процедурами, в которых оно используется, помогает изолировать данные и позволяет проверить значения до их присвоения или извлечения. Get позволяет клиенту читать значения закрытых данных, а Set позволяет клиенту модифицировать эти значения.
Казалось бы, это противоречит смыслу закрытых данных, доступ к которым должен тщательно контролироваться методами класса. Но Get может редактировать данные и ограничивать область данных, видимых клиенту. Set может обеспечить проверку правильности данных для гарантии того, что значение задано правильно, а так же выполнять преобразование формата данных.
Не все свойства имеют и Get, и Set методы. Свойство, имеющее только Get, называют свойством “только чтение” (Read-Only Property); оно должно объявляться с помощью ключевого слова ReadOnly. Свойство, имеющее только Set, называют свойством “только запись” (Write-Only Property); оно должно объявляться с помощью ключевого слова Write-Only.
Поля и свойства представляют сведения, содержащиеся в объекте. Свойства извлекаются и устанавливаются подобно полям.
Событие — это характеристика класса объекта, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения.
Событие – это синтаксическая надстройка, которая позволяет вызывать методы других объектов , подписавшихся на данное событие. (Например, подписавшись на событие Click, объект каждый раз при нажатии кнопки будет получать уведомление в виде вызова метода.) Событие объявляется с помощью ключевого слова Event.
События — это уведомления, получаемые объектом от других объектов или приложений или передаваемые объектом в другие объекты или приложения. События позволяют объектам выполнять действия при появлении определенных обстоятельств. Поскольку Microsoft Windows является управляемой событиями операционной системой, события могут поступать от других объектов и приложений или от пользователя (например, при нажатии кнопки).
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button4.Enabled = True
'удаляем информацию в БД.
DB.Del(DB.GetIDOfBook(
DataGridView1.Rows.Remove(
End Sub
Каждая из перечисленных составляющих класса, а также сам класс, могут иметь так называемые модификаторы доступа, которые указывают область видимости.
Private DB As Manager
Наряду с модификаторами доступа, регламентирующими видимость, члены класса могут содержать модификаторы, устанавливающие их принадлежность к классу и экземпляру класса. Члены класса, принадлежащие классу, называют разделяемыми (Shared) или статическими (Static). Члены, которые принадлежат экземпляру, называются экземплярными (Instance).
Механизм вызова методов и обращений к полям:
Объявление класса фактически задает последовательность расположения полей класса в памяти и способы вызова функций. При создании конкретного экземпляра класса (объекта) происходит выделение памяти согласно структуре полей класса. При вызове экземплярного метода в качестве неявного параметра ему передается информация об экземпляре класса, для которого вызван этот метод. При вызове статического метода такая информация не передается, поэтому статический метод может быть вызван при отсутствии какого-либо экземпляра класса. Эти методы могут обращаться к нестатическим методам и полям своего класса без указания конкретного экземпляра.
При обращении к полю экземпляра класса доступ производится по смещению относительно начала положения экземпляра класса в памяти. В отличие от экземплярного поля статическое поле не требует конкретного объект, поскольку оно создается и инициализируется всего один раз. Статические поля аналогичны глобальным переменным в других языках программирования.
Создание и удаление классов и экземпляров класса:
При создании или удалении классов, а также экземпляров класса, вызываются специальные методы: конструктор класса и конструктор экземпляра класса; деструктор (метод завершения).
Метод-конструктор класса инициализирует переменные экземпляра класса неявно значениями по умолчанию (0 для простых числовых типов, False для типа Boolean и Noting для ссылочных типов), если к моменту их использования они не были инициализированы, но явное объявление является более предпочтительным.
Конструкторы VB.NET реализуются как процедуры типа Sub с именем New. Они обычно являются Public -методами класса. Класс может иметь несколько конструкторов, и все они должны иметь разную сигнатуру. Классы могут содержать перегруженные (overloaded) конструкторы, представляя несколько способов инициализации объектов класса. Это означает, что несколько конструкторов в классе могут иметь одно и тоже имя метода (New), но обязательно должны иметь разное число и/или разные типы и/или разный порядок параметров.
Public Sub New(ByVal FileName As String)
FFound = -1
FFileName = FileName
IO = New IIO
If Not IO.FileExist(FileName) Then
IO.FileCreate(FileName)
End If
End Sub
В VB.NET существует возможность перегрузки конструктора путем передачи ему параметров другого объекта этого же класса. В этом случае в классе–клиенте объявляется объект класса, параметром которого служит другой объект этого же класса. Членами объекта некоторого класса могут быть объекты ранее созданных классов. Такое использование объектов называется композицией.
Конструктор – это специальный метод, который инициализирует переменные экземпляра класса. При создании объектов вызывается конструктор этого класса. Конструкторы могут получать аргументы, но не могут возвращать значения.
Конструкторы класса (экземпляра) вызываются до любого обращения к этому классу (экземпляру). Метод обращения- деструктор будет вызван при удалении объекта. Объект удаляется не сразу, а через неизвестное время, поэтому использование методов завершения нежелательно, поскольку их наличие несколько замедляет удаление экземпляра класса.
Совместно используемые члены классов:
Каждый объект класса имеет
свою копию переменных
В VB можно определять общий конструктор, который используется только для инициализации Shared-членов класса. Обычно Shared-конструкторы используются, когда необходимо инициализировать Shared-переменную класса перед тем, как будут созданы какие-либо объекты этого класса.
Информация о работе Проект программного обеспечения библиотеки