1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 81
1

Видимость переменных в наследуемых классах

24.05.2016, 07:05. Показов 958. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Только начинаю изучать ООП.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public MustInherit Class MIClass
    Private i() As Integer
 
    Private Function f1(ByVal v As Double) As Double
 
    End Function
End Class
 
Public Class c1
    Inherits MIClass
 
    Public Sub s1()
        i = New Integer(100) {}
        Dim d As Double = f1(5)
    End Sub
End Class
Получаю ошибки в процедуре s1, что i и f1 недоступны, т.к. объявлены в MIClacc как Private. Не хочется объявлять i и f1 как Public. Можно как-нибудь сделать, чтобы i и f1 находились в MIClass, но были видны только в наследуемых классах?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2016, 07:05
Ответы с готовыми решениями:

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

Видимость переменных в классах с отношением композиции
Добрый день! Это класс ListComparsion внутри которого создается любое количество объектов класса...

Видимость в классах
Убунту, стоит Code::Blocks IDE, стандартные настройки. Есть два класса, первый template <...

Видимость в классах
Дана программа #include<iostream> using namespace std; class a {protected: int a1; public:...

3
1098 / 834 / 146
Регистрация: 25.07.2015
Сообщений: 1,844
24.05.2016, 12:48 2
Лучший ответ Сообщение было отмечено ALX2K как решение

Решение

ALX2K, ну так не обязательно Public использовать.

Protected c As Integer 'Доступна из текущего класса и классов-наследников
Friend с As Integer 'Доступна в пределах приложения
1
1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 81
24.05.2016, 22:47  [ТС] 3
Kulma, спасибо. То, что надо.

Не могли бы Вы пояснить еще пару моментов:
1) Dim и Private.
Их можно объявлять как в классе, так и в процедуре класса. Есть ли между ними принципиальная разница?

2) Public и Friend.
Читал, пробовал. Не могу уловить разницу. Обе видны. Может есть какой пример, показывающий принципиальную разницу?
0
47 / 47 / 7
Регистрация: 26.12.2014
Сообщений: 189
25.05.2016, 02:13 4
Цитата Сообщение от ALX2K Посмотреть сообщение
1) Dim и Private.
Их можно объявлять как в классе, так и в процедуре класса. Есть ли между ними принципиальная разница?
Разницы нет - сделано для удобства.

Цитата Сообщение от ALX2K Посмотреть сообщение
2) Public и Friend.
Читал, пробовал. Не могу уловить разницу. Обе видны. Может есть какой пример, показывающий принципиальную разницу?
Написали же уже.

Добавлено через 4 минуты
Цитата Сообщение от godmode Посмотреть сообщение
Public
Может быть доступно не только внутри сброки, но и извне, к примеру dll.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2016, 02:13
Помогаю со студенческими работами здесь

Видимость переменных
Может кто-нибудь сможет объяснить Если мы напишем вот так public class T{ int x=1; public...

Видимость переменных
Ребят такой вопрос, Есть у меня класс А и наследуемый от него класс B, в классе B есть паблик...

Видимость переменных
Подскажите как использовать переменные lon и lat например в других функциях? Как их там "увидеть" ?...

Видимость переменных
Ребята подскажите как правильно передать значение переменной data в переменную id_pole чтобы...

Видимость переменных
блин, мне уже стыдно тут спрашивать такое, наверное не достаток сна сказывается %-) почему...

видимость переменных
разве может переменная $info которая обьявлена в условии быть видна вне условия $subject = $info; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru