Классы в Visual Basic

программирование программы Образование .net visual basic

Public Class Book
Dim BookName As String
Dim NumberPage As Integer

Public Function GetBook() As String
Return BookName
End Function
Public Sub SetBook()
BookName = Form1.name_sq.Text
End Sub
Public Sub SetNumber()
NumberPage = Form1.number.Text
End Sub
Public Function GetNumber() As String
Return NumberPage
End Function
End Class

'Агрегация'

Public Class Uchet
Dim Progress As Integer
Dim book As Book
Public Sub Uchet()
book = New Book
book.SetBook()
book.SetNumber()
End Sub
Public Sub SetProgress()
Progress = Form1.state.Text
End Sub
Public Function GetProgress() As Integer
Return Progress
End Function
Public Function takeBook() As Book
Return book
End Function
End Class

При вызове var.takeBook().GetBook() получаю : В экземпляре объекта не задана ссылка на объект.

Примечание:
Dim var As Uchet

Примечание:
Public Class Form1
Dim savee As Boolean
Dim var As Uchet
Ответы:
Что такое var, и как этот var Вы инициализируете мы должны догадаться телепатически?
Класс относится к ссылочным типам и должен быть инициализирован новым значением явно при помощи ключевого слова New или значением другой переменной того же типа, либо наследованного от этого типа, иначе в вашем случае он Nothing. - Dim var As New Uchet


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.