Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
1

Какой доступ имеют методы и объекты классов между собой

15.01.2014, 10:54. Показов 782. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Например у нас есть диаграмма классов. Объясните какой доступ имеют методы и объекты классов между собой.
Как методы класса G могут получить доступ к методам класса A. Как объекты класса G могут получить доступ к объектам класса A.
Миниатюры
Какой доступ имеют методы и объекты классов между собой  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2014, 10:54
Ответы с готовыми решениями:

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

Cвязывание между собой 3 классов
Есть небольшое приложение и я не знаю как лучше построить его. Есть основной класс мидлета, он...

Функционирование классов и объектов между собой
Доброго времени суток. Изучая учебник Дейтелов "C++. How to Program", наткнулся на весьма несложное...

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

16
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 11:25 2
Через параметры передаваемые в функциях. Вот примерная логика работы. Из класса А вызываем функцию класса С там в свою очередь класса D а там класса G, параметры передаваемые в функции будут соответствовать свойствам класса А.
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
15.01.2014, 11:28 3
Возможно с помощью сеттеров и геттеров.
Функции могут возвращать значения переменных, которые есть приватными.
1
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 11:28  [ТС] 4
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Через параметры передаваемые в функциях. Вот примерная логика работы. Из класса А вызываем функцию класса С там в свою очередь класса D а там класса G, параметры передаваемые в функции будут соответствовать свойствам класса А.
а спецификатор доступа private не помешает получить доступ к классам?
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 11:38 5
Нет, если вы передаете это как параметр в функции. Но смотрите если вам не нужно чтобы изменялось значение свойства класса А в классе G, то можно передавать копии этих параметров. А если хотите что бы изменялось можно передавать ссылки на эти свойства. Но можно передать копию свойств и вернуть результат который присвоится этому же свойству, то есть:
C++
1
A = doSomeThing(A);
То есть вы свойство отсылаете как параметр и результат к этому же свойству присваиваете
1
31 / 31 / 4
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 11:48 6
Цитата Сообщение от Forumhelp Посмотреть сообщение
Как методы класса G могут получить доступ к методам класса A.
C++
1
A::Func();
Добавлено через 1 минуту
Классе G содержит в себе переменные и методы класса A.

Добавлено через 1 минуту
Другими словами. Все, что есть в А, то есть и в G

Добавлено через 40 секунд
Потому что G - это наследник A
1
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 11:59  [ТС] 7
как я могу получить доступ от D к G, если там стоит private?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
15.01.2014, 12:01 8
Цитата Сообщение от Forumhelp Посмотреть сообщение
как я могу получить доступ от D к G, если там стоит private?
С помощью функций. Вы сможете получить доступ только к значениям свойств. А их получить функцией.
1
31 / 31 / 4
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:06 9
Цитата Сообщение от Forumhelp Посмотреть сообщение
как я могу получить доступ от D к G, если там стоит private?
Forumhelp, что означает private?
1
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:31  [ТС] 10
Цитата Сообщение от xoror Посмотреть сообщение
Forumhelp, что означает private?
Что базовый класс наследуется со спецификатором доступа private (данные которые были в базовом классе publiс и protected станут private в наследнике)
если я все правильно понял

Добавлено через 49 секунд
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Нет, если вы передаете это как параметр в функции. Но смотрите если вам не нужно чтобы изменялось значение свойства класса А в классе G, то можно передавать копии этих параметров. А если хотите что бы изменялось можно передавать ссылки на эти свойства. Но можно передать копию свойств и вернуть результат который присвоится этому же свойству, то есть:
C++
1
A = doSomeThing(A);
То есть вы свойство отсылаете как параметр и результат к этому же свойству присваиваете
До конца не понял. Объясните логику. Совсем туплю:
Методы класса С имеют доступ к методам класса А( к тем методам которые находятся в public или protected).
В классе С методы, которые которые наследовались от класса А, в станут publiс и protected.
В Классе D методы которые были в С publiс и protected, станут protected.
А класс G может иметь доступ к D ??
0
31 / 31 / 4
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:41 11
Forumhelp, все, что находится после private, доступно только этому классу. больше никто туда не может зайти туда

Добавлено через 6 минут
Forumhelp, что такое наследование? готов поспоритьь что ты этого не знаешь
1
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:45  [ТС] 12
Когда производный класс наследуеет поля и методы базового класса
0
31 / 31 / 4
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:52 13
Forumhelp, Если в базовом классе поо=ля или методы имеют private то никто не может иметь к ниа доступ!!

Добавлено через 19 секунд
методы private

Добавлено через 23 секунды


Добавлено через 23 секунды
gjxbnfqnt

Добавлено через 3 минуты
Forumhelp, всё, что находится в классе A. Тоже самое находится и в классе G
Потому что клаасс G наследник
0
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:57  [ТС] 14
это понятно)) Вот и вопрос, если один класс B (например) наследовал методы другого класса А и они стали private в этом классе, то как класс С может наследовать методы класса А, если они в B стали private. И везде наследование со спец.дост. private. Простите, просто сложно доходит)
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 15:28 15
Объясню, если ответите на уточняющий вопрос, вы подразумевали своей диаграммой классов наследование или создание экземпляра другого класса в классе?

Добавлено через 3 минуты
Хотя из ответов я так понял речь идет все таки о наследовании, а я вам писал случай если в классе создается объект другого класса.
Если говорить о наследовании, то было уже отвечено что к private полям доступа нет у наследников, по этому их обычно делают protected.
0
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 16:03  [ТС] 16
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Объясню, если ответите на уточняющий вопрос, вы подразумевали своей диаграммой классов наследование или создание экземпляра другого класса в классе?

Добавлено через 3 минуты
Хотя из ответов я так понял речь идет все таки о наследовании, а я вам писал случай если в классе создается объект другого класса.
Если говорить о наследовании, то было уже отвечено что к private полям доступа нет у наследников, по этому их обычно делают protected.
Да, подразумевалось наследование.
То есть, если стоит private, то мы уже никаким образом не можем получить, доступ?
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 19:32 17
Прямым обращением к свойству нет. Его тогда нужно сделать protected
0
15.01.2014, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2014, 19:32
Помогаю со студенческими работами здесь

По какой формуле взаимодействуют между собой 2 электрона в вакууме?
по какой формуле взаимодействуют меж собой 2 электрона в вакууме? (есле есть - дайте формулу для...

Переставить между собой элементы массива между собой, кроме максимального
Переставить между собой элементы массива между собой, кроме максимального, программа в СИ

Несколько проектов в одном решении. Связь между собой. Правильный путь, он какой?
MS Visual Studio 2013. Есть решение на Си/Си++. В нём два проекта (в дальнейшем может быть и...

Скажите пожалуйста, какой есть плагин для WordPress, чтобы посетители чата могли общаться между собой
Чтобы посетители могли общаться не только через админа, а и напрямую между собой


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru