Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13

Связь классов и переменных

12.01.2018, 22:08. Показов 1387. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!

Сразу приношу извинения, может за столь глупый теоретический вопрос, но найти ответ на просторах интернета у меня не получаеться. Попытаюсь изложить суть. Программа не доделана, вопрос чисто теоретический.

Имеются дополнительно классы Kunde и Buch:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Kunde {
    public int nummer;
    public int alter;
    public String vorname;
    public String nachname;
}
 
public class Buch {
    public String titel;
    public String autor;
    public int jahr;
    public Kunde entliehen;
 
}
 
public class Bibliothek {
 
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        Buch b = new Buch();                        
        b.titel = "Erotische Kurzgeschichten";
        b.autor = "Gerda Spieß-Schwengel";
        b.jahr = 2017;
        
        Kunde k = new Kunde ();                      
        k.nummer = (int) (Math.random()*2000+1000);
        System.out.print("alter: ");
        k.alter = scan.nextInt();
        System.out.print("vorname: ");
        k.vorname = scan.next();
        System.out.print("nachname: ");
        k.nachname = scan.next();
        
                b.entliehen = k;
        
        scan.close();
 
    }
 
}
Вот понятно переменные типа Int, Double и т.д., но зачем вообще нужна переменная типа Kunde в классе Buch и зачем строка "b.entliehen = k;"? Я понимаю что это какая-то там связь между объектами разных классов, но смысл от этого? Если можно обращаться к ним и без этой команды.

Всем заранее искренне благодарен.

P.s. Приношу извинения за не столь ясные вопросы, но мне самому тяжело толком обьяснить, что не понятно.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2018, 22:08
Ответы с готовыми решениями:

Связь классов
В общем, Есть у меня класс Абонент, внутри которого вложенные классы услуг. Есть класс Оператор. Как мне "привязать"...

Связь классов и переменных_2
Добрый день! 

В продолжении темы классов снова нужна ваша помощь. Пытаюсь сделать список с заранее не фиксированным количеством...

Передача переменных из других классов
Здравствуйте. Вот постигаю java нашел задачку на "построение" двигателя. Но не могу понять как передать из других классов переменные. ...

26
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.01.2018, 22:28
Ну и названия у полей... ужоссс.
Цитата Сообщение от Vet_on Посмотреть сообщение
зачем вообще нужна переменная типа Kunde в классе Buch
Тут вообще не понятно что зачем нужно
У тебя в классе Buch определено поле типа Kundle, т.е. переменная entliehen - это объект класса Kundle со всеми своими полями и методами. Соответственно, можно будет обращаться к этим полям, например, b.entliehen.alter
Но это в корне косячно...
Сорь, если непонятно, объяснил как мог...
1
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
12.01.2018, 22:29
Vet_on,
Если можно обращаться к ним и без этой команды.
Как? Вообще ко всему вопросу относится. Если вы считаете что здесь какой то бред понаписан, покажите как это бы сделали вы.
0
12.01.2018, 22:30

Не по теме:

Написал какой-то говнокод, принес на форум и спрашивает, что он делает.

0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
12.01.2018, 22:30
iSmokeJC, я так понял у книжки есть поле клиента, который сейчас её держит.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.01.2018, 22:35
alex white, возможно. По этому коду достоверно ничего сказать нельзя

Добавлено через 2 минуты
[OFF]
Цитата Сообщение от Vet_on Посмотреть сообщение
Bibliothek
[[quote="Vet_on;12026143"Erotische Kurzgeschichten[/quote] пацталом![
/OFF]
0
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13
13.01.2018, 00:05  [ТС]
iSmokeJC,
эти названия с немецкого языка. Buch - книга, Kunde - клиент.
Спасибо огромнейшее, вроде-бы понял. Но у меня тогда возникает следующий вопрос, а зачем тогда создавать в классе Buch поле типа Kunde с переменной , если можно напрямую создать объект в классе Kunde и через него обращаться к методам класса Kunde?

Цитата Сообщение от iSmokeJC Посмотреть сообщение
"Erotische Kurzgeschichten
да, бывают юморные названия

alex white,
Цитата Сообщение от alex white Посмотреть сообщение
Как? Вообще ко всему вопросу относится. Если вы считаете что здесь какой то бред понаписан, покажите как это бы сделали вы.
я бы сделал, как написал в ответе данному человеку iSmokeJC. А что касается задания, да, Вы - правы, суть программы в том, в вкратце, чтобы проверить, закреплена ли какая-то книга за определенным клиентом.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
13.01.2018, 00:09
Vet_on,
если можно напрямую создать объект в классе Kunde и через него обращаться к методам класса Kunde?
Это как? Что-то похожее на код можете показать?
0
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13
13.01.2018, 00:21  [ТС]
alex white,
Цитата Сообщение от alex white Посмотреть сообщение
Это как? Что-то похожее на код можете показать?
к сожалению у меня дополнительно пока ничего не имеется, но можно вить по примеру кода, который я написал в самом начале. Допустим, что в классе Kunde будут еще написаны методы (не статические), то к ним же можно будет обратиться через уже созданный объект "k"
Цитата Сообщение от Vet_on Посмотреть сообщение
Kunde k = new Kunde ();
данного класса, так же, как и идет обращение к полям этого же класса
Цитата Сообщение от Vet_on Посмотреть сообщение
k.nummer = (int) (Math.random()*2000+1000);
System.out.print("alter: ");
k.alter = scan.nextInt();
.................
Или я что-то не правильно понимаю?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
13.01.2018, 00:31
Vet_on,
да, Вы - правы, суть программы в том, в вкратце, чтобы проверить, закреплена ли какая-то книга за определенным клиентом
Но у меня тогда возникает следующий вопрос, а зачем тогда создавать в классе Buch поле типа Kunde с переменной , если можно напрямую создать объект в классе Kunde и через него обращаться к методам класса Kunde?
Ну а как вы соотнесёте соответствующие книги с соответствующими читателями?
0
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13
13.01.2018, 00:43  [ТС]
alex white,
Цитата Сообщение от alex white Посмотреть сообщение
Ну а как вы соотнесёте соответствующие книги с соответствующими читателями?
теперь, по видимому, до меня дошло... надеюсь, что дошло...
вот для этого нам и нужна запись
Цитата Сообщение от Vet_on Посмотреть сообщение
public Kunde entliehen;
Цитата Сообщение от Vet_on Посмотреть сообщение
b.entliehen = k;
проверим выполняется ли данное условие, будет-ли выполняться равенство:
Цитата Сообщение от Vet_on Посмотреть сообщение
b.entliehen = k;
верно?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
13.01.2018, 00:45
Цитата Сообщение от Vet_on Посмотреть сообщение
верно?
Да, за исключением того, что для сравнения используется ==, а не =.
1
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
13.01.2018, 00:51

Не по теме:

xoraxax где там говнокод??


Цитата Сообщение от Vet_on Посмотреть сообщение
проверим выполняется ли данное условие, будет-ли выполняться равенство:
это не условие, это присваивание

вот есть в библиотеке записи про книги и клиентов, их названия имена и т.д. И в записи про книгу есть поле - кому она выдана, которое указывает на запись о клиенте. Ни больше ни меньше
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.01.2018, 01:00
Цитата Сообщение от КОП Посмотреть сообщение
где там говнокод??
повсюду, немецкий язык, публичные поля, кривая обработка ввода
0
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13
13.01.2018, 01:02  [ТС]
Цитата Сообщение от alex white Посмотреть сообщение
Да, за исключением того, что для сравнения используется ==, а не =.
спасибо большое, искренне благодарен за столь не ординарный способ передачи ответа. Пазлики вроде-бы сошлись. Посмотрим, что будет дальше.

КОП,
Цитата Сообщение от КОП Посмотреть сообщение
это не условие, это присваивание
вот есть в библиотеке записи про книги и клиентов, их названия имена и т.д. И в записи про книгу есть поле - кому она выдана, которое указывает на запись о клиенте. Ни больше ни меньше
Да, теперь я это понимаю. То, что Вы говорите, это напрямую связанно с "b.entliehen == k;", что было обговорено выше. Но все равно спасибо за Ваш ответ.
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
13.01.2018, 01:05
Цитата Сообщение от xoraxax Посмотреть сообщение
повсюду, немецкий язык, публичные поля, кривая обработка ввода
1. немецкий язык никто не запрещал
2. писать геттеры и сеттеры для дата класса - бред (имхо)
3. со вводом соглашусь, можно проще

вот так выглядит это в представлении компа, то что красной скобкой выделено ссылается на запись клиента
https://www.cyberforum.ru/atta... 1515794655
Миниатюры
Связь классов и переменных  
0
1 / 1 / 0
Регистрация: 12.01.2018
Сообщений: 13
13.01.2018, 01:23  [ТС]
КОП,
Цитата Сообщение от КОП Посмотреть сообщение
вот так выглядит это в представлении компа, то что красной скобкой выделено ссылается на запись клиента
https://www.cyberforum.ru/atta... 1515794655
Понял, спасибо.

Цитата Сообщение от КОП Посмотреть сообщение
3. со вводом соглашусь, можно проще
Каким тогда образом можно облегчить здесь ввод?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.01.2018, 01:27
Цитата Сообщение от КОП Посмотреть сообщение
немецкий язык никто не запрещал
в приличных местах за такое морду бьют
Цитата Сообщение от КОП Посмотреть сообщение
писать геттеры и сеттеры для дата класса - бред
не собираюсь переубеждать
Цитата Сообщение от КОП Посмотреть сообщение
со вводом соглашусь, можно проще
не проще надо, а правильно
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
13.01.2018, 01:31
Цитата Сообщение от xoraxax Посмотреть сообщение
в приличных местах за такое морду бьют
чет моя еще цела...
Цитата Сообщение от xoraxax Посмотреть сообщение
не собираюсь переубеждать
уточню, мы сейчас в контексте обучения новичков а не энтерпрайз решений, там без вопросов, правда ваша.
Цитата Сообщение от xoraxax Посмотреть сообщение
не проще надо, а правильно
тогда в чем смысл писать нелестный комментарий ничего не предлагая в замен? Поделитесь опытом чтоль
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.01.2018, 01:49
Цитата Сообщение от КОП Посмотреть сообщение
чет моя еще цела...
1с-ник поди
Цитата Сообщение от КОП Посмотреть сообщение
в контексте обучения новичков
может сразу учить, как правильно делать?
Цитата Сообщение от КОП Посмотреть сообщение
в чем смысл
ты как-то странно представляешь форумы. Тут не надо что-то предлагать в замен, чтобы написать комментарий. Ты не понял, что я имею ввиду? Так я тебе объяснил довольно подробно. Пересказывать человеку учебники - не имеет никакого смысла, читать вроде сам умеет, а с текущим уровнем понимания темы что либо обсуждать смысла тоже нет. Выход один -
книжку почитать.
Цитата Сообщение от КОП Посмотреть сообщение
Поделитесь опытом чтоль
Опять же, по вопросу только ленивый статью не написал.
Цитата Сообщение от Vet_on Посмотреть сообщение
Каким тогда образом можно облегчить здесь ввод?
Вон, КОП, знает как облегчить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2018, 01:49
Помогаю со студенческими работами здесь

Эффективная связь классов
Очередной вопросик нарисовался. Имеется 2 класса, не являющиеся родственными. При этом экземпляр одного используется из другого. Как...

Связь классов и методов
Помогите понять в чём проблема,в классе TTopic создал метод типа другого класса,а компилятор на это ругается,что не так? #include...

Связь объектов классов
Добрый день господа. Нужна помощь гуру:) Возник вопрос реализации связи объектов классов, насколько логично использование связи многие ко...

Связь переменных
Здравствуйте Как связать переменную из класса CDialog с переменной из класса CDocument?

Связь классов с мувиклипами на сцене (AF+FD)
Есть флеш игра. Во флеш игре есть локация, допустим, деревня. В деревне есть, допустим, несколько деревьев и два домика. Создавать локацию...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru