Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Java. Объекты использующие другие объекты.  (Прочитано 580 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MrVolt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Don't Disturbed
    • Просмотр профиля
Добрый день!
 :( Немножко запутался... Собственно изучаю Java. Но пока нигде ещё не встречал что-то подобное -
чтобы новый объявленный объект, использовал другой объект. Поясню - У нас есть объект собака, которая использует объект кошка. Если конкретно - Собака по имени Шарик бегает за кошкой по имени Матроскин. При этом матроскин забирается на дерево. В данном случае Object Sharik = new.dog использует Object Matroskin = new.cat

Кто нибудь может помочь разрешить этот бардак в моей голове? Не могу найти детальную информацию с примерами. :'(

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5214
  • Все по палатам!
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #1 : 22 Ноябрь 2013, 16:05:51 »
MrVolt,
Сформулируй вопрос, используя терминологию языка программирования.
Извините, я все еще учусь

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #2 : 22 Ноябрь 2013, 17:19:48 »
Прочитай про объекты и классы в Java
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн MrVolt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Don't Disturbed
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #3 : 22 Ноябрь 2013, 18:46:50 »
Прочитай про объекты и классы в Java
Да читаю. И читал...
поясню детально посредством задачи.
У человека (имя, рост, вес) есть автомобиль (марка,цвет, вес). Человек садится в этот автомобиль. Вес увеличивается. Посчитать общий вес.

Я правильно понимаю, что некоторая переменная массы m.Human суммируется с m.Auto? То бишь объявляется создание объектов, задаются переменные сразу и после идёт сумма двух переменных? Считается это взаимодействием объектов?

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #4 : 22 Ноябрь 2013, 19:57:20 »
Цитировать
То бишь объявляется создание объектов, задаются переменные сразу и после идёт сумма двух переменных? Считается это взаимодействием объектов?
Нет. Суть объектов в долговременом хранении данных. Если программа имеет графический интерфейс, если пользователь может ввести новые значения в поля "вес человека" и "вес машины" (а текст из этих полей будет сразу при редактировании конвертироваться в число и передаваться в поля mWeight объектов man и machine), если при нажатии на кнопку "сложить" либо сразу при изменении одного из полей сумма будет пересчитываться где-то в другом месте путём сложения полей mWeight, вот тогда это считается за ООП.

Оффлайн MrVolt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Don't Disturbed
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #5 : 22 Ноябрь 2013, 21:30:35 »
Цитировать
То бишь объявляется создание объектов, задаются переменные сразу и после идёт сумма двух переменных? Считается это взаимодействием объектов?
Нет. Суть объектов в долговременом хранении данных. Если программа имеет графический интерфейс, если пользователь может ввести новые значения в поля "вес человека" и "вес машины" (а текст из этих полей будет сразу при редактировании конвертироваться в число и передаваться в поля mWeight объектов man и machine), если при нажатии на кнопку "сложить" либо сразу при изменении одного из полей сумма будет пересчитываться где-то в другом месте путём сложения полей mWeight, вот тогда это считается за ООП.
Значит в данном случае подсчёт полей mWeight будет происходить совсем отдельно? Прошу прощения, что Ваши слова повторяю... Будет, предположим, кнопка, ориентированная на 2 данных объекта. И при её нажатии поля складываются, скажем в основных методах программы?

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 750
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #6 : 23 Ноябрь 2013, 13:35:26 »
Если хотите совсем похоже на реальный мир сделать, то можно в машине завести список тех, кто внутри. Как-то так:
Код: (Java) [Выделить]
public interface IObjectWithWeight {
  public int getWeight();
}

public class Car implements IObjectWithWeight {
  private List<IObjectWithWeight> objectsInCar = new ArrayList<IObjectWithWeight>();
  private int mWeight = 100;

  @Override
  public int getWeight() {
    int sum = mWeight;
    for (IObjectWithWeight object : objectsInCar) {
      sum += object.getWeight();
    }
    return sum;
  }

  public void addObjectWithWeight(IObjectWithWeight object) {
    objectsInCar.add(object);
  }

  ...

}

public class Human implements IObjectWithWeight {
  private int mWeight = 10;

  @Override
  public int getWeight() {
    return mWeight;
  }

  ...
}

public class Main {
  public static void main() {
    Car car = new Car();
    System.out.println("Car weight without human = " + String.valueOf(car.getWeight()));
    Human human = new Human();
    car.addObjectWithWeight(human);
    System.out.println("Car weight with human = " + String.valueOf(car.getWeight()));
  }
}

« Последнее редактирование: 23 Ноябрь 2013, 22:32:41 от aSmile »

Оффлайн MrVolt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Don't Disturbed
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #7 : 23 Ноябрь 2013, 13:46:03 »
Ага. Вот оно. Вот теперь в голове всё по полочкам) Спасибо!  :)

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 750
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #8 : 23 Ноябрь 2013, 22:34:20 »
Вообще, этот вопрос касается не конкретно Java, а ООП в целом.

Оффлайн MrVolt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
  • Don't Disturbed
    • Просмотр профиля
Re: Java. Объекты использующие другие объекты.
« Ответ #9 : 24 Ноябрь 2013, 09:46:47 »
в данном случае я имею возможность разбираться только с Джава. Поэтому со стороны этого языка именно был задан вопрос)

 

Страница сгенерирована за 0.08 секунд. Запросов: 25.