Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Иерархии обьектов 
:(
    Опции темы
ShurikA
Дата 13.12.2005, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Преставим обьект obj1 внутри которого создаётся obj2.
Возможно ли, и как, из obj2 обратиться к функциям obj1?

Наверняка это элементарно но я с этим не сталкивался.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Шмель
Дата 13.12.2005, 05:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.4.2004

Репутация: 3
Всего: 18



Если я правильно понял вопрос, то так:
Код

public class Hier {
  
  private class Inner {
    public void someMethod() {
      // вызываем метод вешнего класса
      Hier.this.printString("some string");
    }
  }

  public void printString(String s) {
    System.out.println(s);
  }

}

--------------------
будешь на Земле - заходи
PM MAIL ICQ   Вверх
batigoal
Дата 13.12.2005, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Шмель
Это вариант для случая внутреннего класса. Но я боюсь, что в общем случае это работать не будет.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
maximb
Дата 13.12.2005, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 48
Регистрация: 23.5.2005
Где: Украина, г.Симфер ополь

Репутация: 4
Всего: 6



Цитата(ShurikA @ 13.12.2005, 01:18)
Преставим обьект obj1 внутри которого создаётся obj2.
Возможно ли, и как, из obj2 обратиться к функциям obj1?


Передать ссылку на obj1 в объект obj2.
Например для obj2 определить конструктор

Код
public Obj2(Obj1 obj1)
{
            this.obj1 = obj1;
}

ну и создание obj2 из объекта obj1

Код
this.obj2 = new Obj2(this);


Может я не понял в чем сложность этой задачи. Но помойму все решается оч.просто.

Это сообщение отредактировал(а) maximb - 13.12.2005, 10:44
PM ICQ   Вверх
Шмель
Дата 13.12.2005, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.4.2004

Репутация: 3
Всего: 18



Цитата(Lamer @ 13.12.2005, 15:06)
Это вариант для случая внутреннего класса. Но я боюсь, что в общем случае это работать не будет.

Просто я не вижу никаких сложностей в других случаях. Не похоже, чтобы человек, пишущий на java ни разу не сталкивался со случаями, описанными maximb. Хм... ну да ладно...
--------------------
будешь на Земле - заходи
PM MAIL ICQ   Вверх
maximb
Дата 13.12.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 48
Регистрация: 23.5.2005
Где: Украина, г.Симфер ополь

Репутация: 4
Всего: 6



Цитата(ShurikA @ 13.12.2005, 01:18)
Преставим обьект obj1 внутри которого создаётся obj2.
Возможно ли, и как, из obj2 обратиться к функциям obj1?


Здесь не понятно в чем может быть сложность. Про иннер классы тоже ничего не сказано.

Может быть вызов приватных методов obj1 ?
Но это тоже решаемая проблема.
PM ICQ   Вверх
chief39
Дата 13.12.2005, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(Lamer @ 13.12.2005, 09:06)
Это вариант для случая внутреннего класса. Но я боюсь, что в общем случае это работать не будет.

В конструктор Obj2 всегда передаём объект класса Obj1. Обычный конструктор, могли бы и стринг передавать - не всё ли равно smile
А при таком создании ещё и гарантируется что именно тот тип передаём smile

P.S. АГА! СПАЛИЛИ!!! РАЗ НЕ ВЫСПАЛСЯ - ЗНАЧИТ ГЛУПОСТЯМИ ЗАНИМАЛСЯ ВСЮ НОЧЬ! smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.