Объектно-ориентированное программирование с помощью Microsoft Visual Basic

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

То есть то, как сделано снаружи Бутч.

Вторая - реализация, представляет собой недоступные извне элементы реализации абстракции (внутренняя организация абстракции и механизмы реализации её поведения). Скрывает все детали.

То есть то, как сделано изнутри Бутч.

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

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

Производный класс может наследовать базовый как private, как public и как protected. Это влияет на возможность будущего расширения иерархии классов и интерпретации целей самого наследования.

Для создания нового класса внутри проекта необходимо выбрать пункт Add New Item / Class, после чего откроется окно нового класса.

Определение нового класса:

[Уровень_доступа] Class Имя_класса имя - любое корректное

[Inherits Имя_класса-предка]

[Implements Имена_интерфейсов]

...Список состава класса свойства и методы нового классаClass

Уровень_доступа:

Public - полный доступ к классу.

Private - класс не виден за пределами модуля, в котором он был объявлен.

Protected - класс доступен внутри модуля, в котором он объявлен, и внутри модулей, где присутствуют классы-потомки.

Friend - доступ к классу только в пределах программы, в которой он объявлен (по умолчанию).

ProtectedFriend - класс доступен в пределах программы, в которой он объявлен, и внутри других программ, в которых присутствуют его классы-потомки.

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

NotInheritable -класс не может иметь наследников.

Для каждого элемента класса также можно установить разную видимость. Для этого используются те же ключевые слова, кроме MustInherit и NotInheritable.

Свойства

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

Простой синтаксис объявления свойства объекта:

Уровень_доступа Имя_свойства As Тип_свойства

Например: Public MyProperty As Integer

Читать и изменять значения свойства можно следующим образом:.MyProperty = 34

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

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

Уровень_доступа Property Имя_свойства As Тип_свойства

Код, предназначенный для получения значения свойства

НазваниеСвойства = ИмяПеременнойGet(ByVal значение As Тип_данных)

Код, предназначенный для установки свойства в значение

ИмяПеременной = значениеSetProperty

Конструкция Get в процедуре свойства является функцией, которая возвращает значение свойства при его чтении. Если убрать ключевые слова Get и End Get, то получить значение данного свойства будет невозможно.

Конструкция Set отвечает за получение нового значения для свойства. Если удалить ключевые слова Set и End Set, то изменить значение данного свойства будет невозможно. Для досрочного выхода из конструкции Set используются ключевые слова Exit Property.

Методы

Методы - это процедуры или функции, принадлежащие объекту. Методы определяют поведение объекта. Для вызова метода объекта указывается объект, затем, через точку, название метода. Например: MyObject.Method1

Методы могут возвращать или не возвращать значения и создаются так же, как процедуры и функции.

Методы могут быть открытыми и закрытыми. Открытые методы составляют интерфейс класса, а закрытые используются для внутренних нужд класса. Особый метод New() - (конструктор класса) автоматически вызывается при создании нового объекта. Конструктор может иметь аргументы.

В использовании деструкторов необходимости нет. Своевременным уничтожением объектов занимается сама среда (сборка мусора). Явно вызвать деструктор можно с помощью метода Finalize.Basic позволяет определять несколько методов, имеющих одно и то же имя, но различный набор аргументов (перегрузка методов). При вызове метода будет выбран тот метод, набор аргументов которого совпадет с набором значений.

Для каждого свойства или метода, коды которого м?/p>