Создание, жизнь и смерть объектов
Создадим экземпляр нашего класса:
Dim myBlackBox As BlackBox
myBlackBox = New BlackBox()
Теперь myBlackBox - это ссылка на новый экземпляр класса "Черный ящик". Попробуем вызвать его метод, поиграться со свойствами:
myBlackBox.Content = "Чашка, ложка, поварешка"
myBlackBox.Name = "Персональный ящик Васи Пупкина"
myBlackBox.OpenBox(false) ' Вызываем метод
' получаем значение свойства
MessageBox.Show(myBlackBox.Name & myBlackBox.Content)
Так. Теперь вам понятны принципы работы объекта. Но, теперь усложним ситуацию - в момент создания ящика на нем вырезают его название, после этого что-либо изменить нельзя и название живет с ящиком всю его жизнь. Значит необходимо как-то заполнить переменную mBoxName в момент создания и не давать возможности изменять ее в дальнейшем. Для этого существуют конструкторы - методы класса, которые выполняются в момент создания объектов и позволяют заполнить экземпляр необходимыми данными. Проще всего рассмотреть этот процесс на примере. В Visual Basic .NET конструктор - это метод с названием, идентичным названию класса.И, что логично, конструктор не может возвращать значений и определяется ключевым словом Sub.
Public Class BlackBox
Private mBoxName As String
Private mBoxContent As String
Public Sub New(ByVal NewName As String)
mBoxName = NewName
End Function
Public Property Content() As String
Get
Return mBoxContent
End Get
Set(ByVal Value As String)
mBoxContent = Value
End Set
End Property
Public ReadOnly Property Name() As String
Get
Return mName
End Get
End Property
Public Function OpenBox(ByVal DropContent As Boolean)
End Function
End Class
Теперь поведение класса несколько изменилось:
Dim myBlackBox As BlackBox
myBlackBox = New BlackBox("Мой персональный черный ящик")
MessageBox.Show(myBlackBox.Name)
И при попытке присвоить свойству Name новое значение вы увидите сообщение об ошибке, так как свойство Name объявлено только для чтения (ReadOnly).
myBlackBox.Name = "Новое имя" ' здесь происходит ошибка
Мы создали конструктор - метод, вызываемый при "рождении" объекта, логично предположить, что есть метод, который вызывается при уничтожении объекта. Да, такой метод тоже есть, он называется деструктором и, в отличие от конструктора, не может быть переопределен (о переопределении методов см. раздел Переопределение методов).
Sub Finalize()
End Sub
В этом методе выполняются основные действия: связанные с уничтожением созданных внутри объекта других объектов, закрытием открытых дескрипторов файлов, соединений с базами данных и многого другого, чем пользовался объект при жизни. Забыв освободить использованные ресурсы в этом методе, вы создаете такую неприятную штуку как "утечка ресурсов" (то есть, например, вы создали внутри объекта какие-то еще объекты, но потом забыли их уничтожить и они продолжают занимать ресурсы (память) и после уничтожения вашего основного объекта). Правда, стоит сказать, что среда .NET многое берет на себя. Но мы-то с вами изучаем ООП, а не конкретную реализацию в .NET.
- Позиционные системы счисления
- Смешанные системы счисления
- Системы счисления разных народов Древнеегипетская система счисления
- Римская система счисления
- 4. Логические (функциональные) схемы
- Виды высказываний
- История
- [Править]Централизованные вычисления
- [Править]Конструкторы и самодельные компьютеры
- [Править]Первые фирменные домашние пк
- [Править]Amiga и Macintosh
- [Править]Windows 95, мультимедийные возможности пк
- [Править]Один компьютер — один хозяин
- [Править]Продажи во всём мире
- [Править]Отечественные персональные компьютеры
- Разновидности устройств ввода
- 1.2 Устройства ввода-вывода
- Информация ввод вывод интерфейс
- Устройства ввода текста, графики и команд
- Клавиатура
- Плазменные мониторы
- Классификация по
- Системное по Прикладное по Инструментальное по
- Операционные системы
- [Править]Функции ос
- [Править]Понятие операционной системы
- [Править]Основные идеи ос
- [Править]Встроенные программы
- [Править]Утилиты
- [Править]Утилиты используются для
- [Править]Типы утилит
- [Править]Системы программирования
- [Править]Системы управления базами данных
- 16 Системы программирования
- Классификация По типу
- По сфере применения
- 19 История компьютерной вирусологии
- Создание вирусов и его причины
- [Править]Каналы
- -Профилактические меры, позволяющие уменьшить вероятность заражения вирусом;
- 1. В сфере оборота компьютерной информации:
- 3. В сфере информационного оборудования:
- 4. В сфере защиты охраняемой законом информации:
- 5. В сфере информационных правоотношений:
- 6. В сфере экономики и компьютерной информации:
- Графические интерфейсы и расширения для dos
- Семейство Windows 9x
- [Править]Семейство Windows nt
- Интегрированные программные продукты
- Основные стандартные утилиты Windows xp (программы из группы стандартные)
- Классификация файловых систем
- Задачи файловой системы
- 27 Окна Windows
- Диалоговые окна
- Управление меню
- Обозначения, принятые в меню
- Главное меню
- Контекстное меню
- Строка меню окна
- Системное меню
- История
- Состав программного продукта
- Виды баз данных
- [Править]Классификация по модели данных
- [Править]Классификация по среде постоянного хранения
- [Править]Классификация по содержимому
- [Править]Классификация по степени распределённости
- [Править]Другие виды бд
- 37 Работа с базой данных на примере программы "Аксес" ("Access")
- Разработка базы данных
- История
- Основы алгоритмизации
- 43 Понятие о системе программирования
- 46 Ооп. Давайте знакомиться
- Объект - Черный ящик
- Создание, жизнь и смерть объектов
- Переопределение (перегрузка) методов
- Наследование
- 1.3. Выражения и операции.
- 1.4. Операторы
- 50 Функции ввода и вывода
- 0 2 4 6 8 10
- Технологии повлиявшие на развитие компьютерных сетей
- Системы пакетной обработки
- Многотерминальные системы — прообраз сети
- Первые глобальные компьютерные сети
- Первые локальные компьютерные сети
- Компьютерные сети сегодня
- Классификация [править]По территориальной распространенности
- [Править]По типу функционального взаимодействия
- Достоинства
- [Править]Недостатки
- Достоинства
- [Править]Недостатки
- Достоинства
- [Править]Недостатки
- История
- Особенности Интернета
- Система адресации в интернет
- Что ищем?
- [Править]Где ищем?
- [Править]Как ищем?
- Протоколы получения почты
- [Править]pop3
- [Править]imap
- [Править]Различия
- Введение
- [Править]Устройство
- [Править]Опции
- Структура и принципы Всемирной паутины
- 59 Влияние компьютера на организм человека.
- 60 Эргономика рабочего места