Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12

Наследование переменных

05.11.2018, 12:46. Показов 2230. Ответов 11

Студворк — интернет-сервис помощи студентам
Добрый день! Задам столь facepalm'ный вопрос. Пытаюсь разобраться с наследованием в VB.Net и не понимаю как мне обратиться к переменным другого класса. Например:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Class A
Dim varA as Integer = 0
Dim varB as Integer = 0
Dim varC as String = "_"
End Class
 
 
Public Class B
Inherits Class A
 
Friend Sub F1()
Dim newV as Integer = 70
varA = newV * 10 'вопрос возникает, как обратиться к переменной чтобы ее видел класс B
End Sub ' в данный момент ругается на Private
 
End Class
Есть ли самый простой способ без передачи параметров? (опять же извиняюсь если данный вопрос не корректный)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2018, 12:46
Ответы с готовыми решениями:

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

Наследование медотов, переменных из другой формы
Подскажите, плиз, как осуществляется наследование сабжа в VB? Т.е. в одной форме (Form1) я использую настройки подключения к базе,...

Наследование переменных в Perl
Доброго всем! Не могу понять как организовать наследование переменных в Perl Допустим, есть три класса и каждый класс - это отдельный...

11
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,892
Записей в блоге: 1
05.11.2018, 13:12
StupidDev, нужно указать у полей соответствующий модификатор доступа. Например Public.
VB.NET
1
2
3
4
5
Public Class A
Public varA as Integer = 0
Public varB as Integer = 0
Public varC as String = "_"
End Class
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12
05.11.2018, 13:15  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
StupidDev, нужно указать у полей соответствующий модификатор доступа. Например Public.
Про Public знаю, но хотелось бы с ограничением доступа это сделать, так сказать по красоте. Чтобы доступ к переменным был только у определенного класса.
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.11.2018, 13:22
StupidDev, тогда Friend вместо Public. И доступ будут иметь только наследники
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12
05.11.2018, 13:58  [ТС]
Цитата Сообщение от ViterAlex Посмотреть сообщение
StupidDev, тогда Friend вместо Public. И доступ будут иметь только наследники
хороший вариант) забыл про него Friend
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,892
Записей в блоге: 1
05.11.2018, 14:10
Цитата Сообщение от StupidDev Посмотреть сообщение
забыл про него Friend
Не забудь также что он открывает доступ не только наследникам, а всем типам в одной сборке
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.11.2018, 14:20
Лучший ответ Сообщение было отмечено StupidDev как решение

Решение

OwenGlendower совершенно прав. Я перепутал с Protected. Friend это internal в C#
0
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12
05.11.2018, 14:37  [ТС]
Столкнулся с проблемой. Класс с классом связать понятно, а вот есть у меня модуль, который работает с переменной из класса. Т.к. классы связались и переменные видят только они, то с модулем придумать не получается подобную штуку...
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,892
Записей в блоге: 1
05.11.2018, 14:52
StupidDev, какую именно штуку и зачем?

Добавлено через 23 секунды
Лучше в виде кода продемонстрировать
0
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12
05.11.2018, 15:07  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
StupidDev, какую именно штуку и зачем?
Добавлено через 23 секунды
Лучше в виде кода продемонстрировать
Ну вот смотрите пример такой:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
Public Class A
   Protected varA as String = "Text"
End Class
 
Module mMod
  Friend Sub OutMsg()
    Dim message as String = ""
    message = "This is your " & varA 'тк нет связи с модулем, переменная из класса
    MsgBox(message) 'недоступна из-за прав доступа
  End Sub
End Module
Раньше программа была написана исключительно на одних модулях и все было на Public. Для себя решил переписать под ООП, но тут мои знания оказались ограничены лишь теорией, и реального скилла мне не хватило
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,892
Записей в блоге: 1
05.11.2018, 15:25
StupidDev, модуль сможет обратиться к экземплярному члену класса при наличии экземпляра и если модификатор доступа будет Public или Friend. Примерно так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
Public Class A
   Public varA as String = "Text"
End Class
 
Module mMod
  Friend Sub OutMsg(aaa As A)
    Dim message as String = ""
    message = "This is your " & aaa.varA
    MsgBox(message)
  End Sub
End Module
Можно объявить поле как Shared и обращаться через имя класса без экземпляра, но это по сути будет повторение решения с ммодулями и я бы не стал так делать.
0
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 12
06.11.2018, 09:18  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Можно объявить поле как Shared и обращаться через имя класса без экземпляра, но это по сути будет повторение решения с ммодулями и я бы не стал так делать.
нормально заработал только такой вариант Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2018, 09:18
Помогаю со студенческими работами здесь

Наследование нескольких переменных
Имеются 3 класса (computer, pc, pda). pc должен наследовать от computer 2 переменных, а pda от pc его 2 переменных и те 2 что он наследует...

Наследование переменных от интерфейса
Задача на засыпку Почему так работает template <class T> class A { public: A():a(19),b(&a){}; virtual void get()=0; ...

Наследование класса и переопределение переменных в наследуемых классах
Всем добрый день. Есть два класса, Класс А и класс Б который наследуется от класса А. В классе А мне надо прописать enum так чтобы...

ООП. Наследование переменных и методов от Базового класса к Дочернему и наоборот
class Money : { public: int Selection() { //Здесь играет роль SumToGrn(double &Sum) которую текущий базовый класс не видит. ...

Наследование шаблоном шаблона (наследование конструктора)
Всем привет! Думаю, что эта тема хоть и касается общих вопросов программирования, но будет уместна в данном разделе т.к. у различных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru